인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

정천우님의 프로필 이미지
정천우

작성한 질문수

코딩으로 학습하는 GoF의 디자인 패턴

싱글톤 패턴 3부 - 싱글톤 패턴 구현 방법을 깨트리는 방법

안녕하세요!

작성

·

184

0

안녕하세요! 궁금한게 생겼습니다.

 

SettingHolder 를 이용한 인스턴스 생성과

inner class를 하지않고 Settings 에서 static 메소드를 써서 초기화한 private static finnal Settings instatnce = new Settings(); 


의 차이점을 모르겠습니다. 제 생각에는 두개 전부다 결국 'static 영역에 미리 생성(?) 을 한다는 것'이고 static이므로 로드시점까지 똑같다고 생각하는데요. Holder를 만들었다고 해서 무슨차이인지 잘 모르겠습니다.

감사합니다!

답변 1

4

백기선님의 프로필 이미지
백기선
지식공유자

안녕하세요. 좋은 질문 감사합니다.

inner 클래스가 로딩되는 시점이 해당 클래스를 사용하는 static 메소드가 호출 됐을 때로 미뤄지기 때문에 static 필드 일 때랑은 차이가 있는겁니다.

정천우님의 프로필 이미지
정천우

작성한 질문수

질문하기