Item 3. private 생성자나 열거 타입으로 싱글턴임을 보증하라
1. 싱글턴을 만드는 방법
1. public static final field 방식의 Singleton
public class Elvis {
public static final Elvis INSTANCE = new Elvis();
private Elvis() {
// 이미 인스턴스가 존재할 경우 : throw new AssertionError("CAN'T MAKE INSTANCE");
}
public void leaveTheBuilding() {
// ...
}
}2. 정적 팩터리 방식의 Singleton
3. 열거 타입 방식의 Singleton
2. 싱글턴 클래스 직렬화
Last updated