싱글톤(Singleton) 최초 한번만 인스턴스를 생성하여 사용하는 디자인패턴. 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나이므로 최초 생성 이후에 호출된 생성자는 최초에 생성한 객체를 반환한다. public enum Singleton { INSTANCE; private String name; private Singleton(String name) { this.name = name; } public Singleton getInstance() { return INSTANCE; } } thread safe 스레드 관련된 코드가 없어져서 간단해진다. Serialization을 스스로 해결.