본문 바로가기

아는 만큼 보인다/Design Pattern

Singleton pattern

  • 원소가 하나인 enum 자료형이 가장 좋은 singleton 구현방법이다.
  • 왜?
    1. 리플렉션의 prive 생성자 접근을 통한 공격(추가 객체 생성)에 안전하다.
    2. Serializable 구현시 deserialize 될 때 마다 새로운 객체가 생성되는 일이 없다. (이를 방지하기 위해 readResolve 메소드를 추가할 필요 없다.)
    3. 코드가 간단한다.
  • 코드

    public enum MySingleton {

    INSTANCE;

     

    publc someMothods() { ... }

    }

  • 출처 : Effective Java 2판, 규칙3. Singleton pattern