이펙티브자바 아이템3
-
아이템3. private 생성자나 열거 타입으로 싱글턴임을 보증하라책/이펙티브자바 2021. 6. 20. 13:54
싱글톤(singleton) ? 인스턴스를 오직 하나만 생성할 수 있는 클래스 ex) 함수와 같은 무상태(stateless) 객체, 설계상 유일해야 하는 시스템 컴포넌트 장점 한번의 객체 생성으로 재사용이 가능하다. → 메모리 낭비를 방지할 수 있다. → 전역성을 갖기 때문에 다른 객체와 공유가 용이히다. 단점 클래스가 싱글톤이면 이를 사용하는 클라이언트를 테스트하기가 어려워 질 수 있다. → 타입을 인터페이스로 정의한 다음 그 인터페이스를 구현해서 만든 싱글톤이 아니라면 싱글톤 인스턴스를 mock 구현으로 대체할수 없기 때문. 싱글턴을 만드는 방식 1. public static final 필드 방식 생성자는 private 으로 감추기 유일한 인스턴스에 접근할 수 있는 수단으로 public static 멤..