기록이 힘이다.

아이템3. 생성자나 열거 타입으로 싱글턴임을 보증하라. 본문

JAVA

아이템3. 생성자나 열거 타입으로 싱글턴임을 보증하라.

dev22 2023. 1. 25. 08:30
728x90

1.private 생성자 + public static final 필드

간결하고 싱글턴임을 API에 들어낼 수 있다. // 싱글톤을 사용하는 클라이언트 테스트하기 어려워진다. 

2. private 생성자 + 정적 팩터리 메서드

API를 바꾸지 않고도 싱글턴이 아니게 변경할 수 있다. 

3. 열거 타입

가장 간결한 방법이며 직렬화와 리플렉션에도 안전하다. 

대부분의 상황에서는 원소가 하나뿐인 열거 타입이 싱글턴을 만드는 가장 좋은 방법이다.