#002 객체의 생성과 소멸 2번째
객체를 언제 어떻게 생성하는지, 언제 어떻게 생성을 피해야 하는지, 적합한 방법으로 소멸되는 것을 어떻게 보장하는지, 그리고 객체 소멸에 앞서 선행되어야 하는 클린업 작업을 어떻게 관리할 것인가에 대해 설명한다.
3. private 생성자나 enum 타입을 사용해서 싱글톤의 특성을 유지하자
싱글톤이란 정확히 하나의 인스턴스만 만들어지는 클래스이다.
싱글톤은 스레드 풀이라던가, 캐시 등등 객체가 전체 프로그램에서 오직 하나만 생성되어야 하는 경우에 사용한다.
싱글톤 구현 방법
1. public static final 멤버 필드 사용
// public final를 갖는 싱글톤
public class Elvis {
public static final Elvis INSTANCE = new Elvis();
private Elvis() { }
public void leaveTheBuilding() {
System.out.println("Whoa baby, I'm outta here!");
}
// This code would normally appear outside the class!
public static void main(String[] args) {
Elvis elvis = Elvis.INSTANCE;
elvis.leaveTheBuilding();
}
}
2. static 팩토리 메소드 사용
// static 팩토리 메소드를 갖는 싱글톤
public class E...