https://s3-us-west-2.amazonaws.com/secure.notion-static.com/6a2c0755-d1bb-40d6-bd57-70330acce976/66F7980B-A9BB-4C3E-A3BB-C0420CB7B2C2.png

싱글톤 패턴

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