싱글턴 패턴 Singleton Pattern


: 클래스 인스턴스를 하나만 만들고, 그 인스턴스로의 전역 접근을 제공하는 것.

실제 상황 예

국가는 하나의 공식 정부만 가질 수 있음.

“~국가의 정부”라는 명칭은 정부 구성 개인과는 상관없이,

“정부 책임자들의 그룹”을 식별하는 전역 접근 지점.

구현 방법


  1. 싱글턴 인스턴스 저장을 위해 클래스에 비공개 정적 필드 추가.
  2. 싱글턴 인스턴스를 가져오기 위한 공개된 정적 생성 메서드 생성.
  3. 정적 메서드 내에서 게으른 인스턴스 생성하고, 비공개 정적 필드에 저장.
  4. 클래스의 디폴트 생성자는 비공개로 설정. 해당 클래스의 정적 메소드만 호출 가능.
  5. 클라이언트는 싱글턴의 정적 생성 메서드를 통해서만 호출하도록 함.