728x90
반응형

 

  • 클래스 밖에서는 오브젝트를 생성하지 못하도록 생성자를 private으로 만든다.

  •  

  • 생성된 싱글톤 오브젝트를 저장할 수 있는 자신과 같은 타입의 스태틱(static) 필드를 정의한다.

  •  

  • 스태틱 팩토리 메소드(static factory method)인 getInstance()를 만들고 이 메소드가 최초로 호촐되는 시점에서 한번만 오브젝트가 만들어지게 된다. 생성된 오브젝트는 스태틱
  • 필드에 저장된다. 또는 스태틱 필드의 초기값으로 오브젝트를 미리 만들어둘 수도 있다.

  •  

  • 한번 오브젝트(싱글톤)이 만들어지고 난 후에는 getInstance()  메소드를 통해 이미 만들어져 스태틱 필드에 저장해둔 오브젝트를 넘겨준다.

  •  

      싱글톤 패턴 구현방식의 문제
     

    • private 생성자를 갖고 있기 때문에 상속할 수 없다.

    • 싱글톤은 테스트하기가 힘들다.

    • 서버환경에서는 싱글톤이 하나만 만들어지는 것을 보장하지 못한다.

    • 싱글톤의 사용은 전역 상태를 만들 수 있기 때문에 바람직하지 못하다.
    728x90
    반응형
    블로그 이미지

    nineDeveloper

    안녕하세요 현직 개발자 입니다 ~ 빠르게 변화하는 세상에 뒤쳐지지 않도록 우리모두 열심히 공부합시다 ~! 개발공부는 넘나 재미있는 것~!

    ,