싱글톤 패턴
private static UserDAO instance = new UserDAO();
// 같은 클래스니까 여기서 생성 가능. 딱 한번만 생성
// 이미 메모리 영역에 떠있음
private UserDAO() {} // 외부에서 new 하는걸 막음
public static UserDAO getInstance () {
return instance;
}
// getInstance 호출만 하면됨 static 이니까
// new 하지 않아도 됨
// 스프링은 모두 싱글톤으로 설계되어있다
쉽게 생각하면 봐ㅏ바
대통령은 우리나라에 한명뿐인데
대통령클래스를 static 으로 만들면 대통령 나중에 못 바꾸잖아
근데 heap에 띄우면 대통령 엄청 많이 만들 수 있잖아 (new 해가꼬)
특정시점에 한명만 만들어야된단 마랴 → 싱글톤패턴
대통령이 태초부터 존재하던거니? (static)
아니잖아 어느 시점에 만들어진거잖아 (heap)
근데 여러명 만들 수 있어? 대통령 두명일 수 있니? (singleton pattern)
싱글톤 패턴의 사용예
LoginAction.java