[Effective Java] 3. private 생성자나 enum 타입을 사용해서 싱글톤의 특성을 유지하자.
Posted at 2009/08/26 11:07// Posted in 나만의 작업/Java
3. private 생성자나 enum 타입을 사용해서 싱글톤의 특성을 유지하자.
싱글톤(singleton)은 정확히 하나의 인스턴스만 생성되는 클래스. 싱글톤은 본질적으로 유일한 시스템 컴포넌트를 나타낸다.
예를 들면, 윈도우 매니저나 파일 시스템 등
자바 1.5 이후 싱글톤 구현하는 가장 좋은 방법
//열거형( Enum) 싱글톤
public enum Elvis {
INSTANCE;
public void leaveTheBuilding() { ... }
}
복잡한 직렬화나 리플렉션 상황에서도 직렬화가 자동으로 지원되고, 인스턴스가 여러 개 생기지 않도록 확실하게 보장해준다.
'나만의 작업 > Java' 카테고리의 다른 글
| [Effective Java] 9. equals 메소드를 오버라이드 할 땐 hashCode 메소드도 항상 오버라이드 하자. (0) | 2009/09/28 |
|---|---|
| [Effective Java] 8. equals 메소드를 오버라이딩 할 때는 보편적 계약을 따르자. (3) | 2009/09/24 |
| [Effective Java] 5. 불필요한 객체 생성을 피하자 (4) | 2009/09/23 |
| [Effective Java] 4. private 생성자를 사용해서 인스턴스 생성을 못하게 하자 (0) | 2009/09/17 |
| Eclipse Galileo에 어떤 프로젝트가 있을까? (2) | 2009/08/26 |
| [Effective Java] 3. private 생성자나 enum 타입을 사용해서 싱글톤의 특성을 유지하자. (3) | 2009/08/26 |
| [Effective Java] 생성자의 매개변수가 많을 때는 빌더(builder)를 고려하자. (3) | 2009/07/31 |
| [Java] 자바 코딩하다가 실수하는 부분들 (8) | 2008/03/03 |
| [java] java.util.Properties 클래스 (4) | 2007/05/10 |



INSTANCE; 구문도 첨 본거고...
자바도 아직 공부할 게 많이 남았네요 ^^;;
저도 이번에 effective java 2nd 책 보면서 싱글턴으로 하는거 알아서..^^
메소드에 접근하고 싶다면,
Elvis.INSTACE.leaveTheBuilding();
이렇게 접근하면 된답니다.^^