Java

[Effective Java] 아이템 3. private 생성자나 열거 타입으로 싱글턴임을 보증하라.

quedevel 2022. 5. 24. 10:33
728x90
반응형
class Singleton {
    // LazyHolder Singleton pattern
    private Singleton(){};
    private static class LazyHolder{
        public static final Singleton instance = new Singleton();
    }
    // getInstance()를 호출했을때 LazyHolder 클래스가 로딩되면서 생성
    // 장점 : 객체가 필요한 시점에서 초기화가 진행된다.
    public static Singleton getInstance(){
        return LazyHolder.instance;
    }
}
  • 객체를 오직 하나만 생성하여 활용하는것을 싱글턴이라고 한다.
  • 싱글턴을 만들때 반드시 고려해야하는 사항은 무상태 객체이다.

참고 자료

Joshua Bloch, 『Effective Java 3/E』, 개앞맵시 옮김, 프로그래밍인사이트(2018)
http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788966262281&orderClick=LEa&Kc=

728x90
반응형