애플리케이션을 만들다보면 애플리케이션 내에 인스턴스가 오로지 하나만 있어야 하는 경우가 있다!
이러한 경우 싱글턴 패턴을 사용하여 인스턴스가 단 하나만을 존재하게 만들 수 있다.
public class Settings {
private Settings() {} // 1. private 생성자를 만들어 외부 접근 불가능하게
private static final SETTINGS = new Settings(); // 2. 본인의 타입으로 static final로 프라이빗 생성자를 통해 인스턴스를 만든다.
public static Settings getInstance(){
return SETTINGS; //3. 외부에서 호출할 메서드를 만든다.
}
}
private Object readResolve(){
return INSTANCE;
}
Elvis elvis = (Elvis) Object.readResolve();