본 포스트는 인프런 백기선 님의 강의 코딩으로 학습하는 GoF의 디자인 패턴 를 듣고 간략하게 정리하는 글입니다.
인스턴스를 오직 한개만 제공하는 클래스
ex) 설정
왜 private 생성자?
왜 static method?
getInstance() 가 멀티 쓰레드 환경에서 안전하지 않은 이유?
👎 : 생성하는데 많은 자원이 드는 경우, 만든 후 쓰지 않으면 무쓸모
private Settings() {}
private static class SettingsHolder {
private static final Settings SETTING = new Settings();
}
public static Settings getInstance() {
return SettingsHolder.SETTINGS;
}
static final을 썼는데 왜 지연 초기화라고 볼 수 있는가?