|
- 클래스 밖에서는 오브젝트를 생성하지 못하도록 생성자를 private으로 만든다.
- 생성된 싱글톤 오브젝트를 저장할 수 있는 자신과 같은 타입의 스태틱(static) 필드를 정의한다.
- 스태틱 팩토리 메소드(static factory method)인 getInstance()를 만들고 이 메소드가 최초로 호촐되는 시점에서 한번만 오브젝트가 만들어지게 된다. 생성된 오브젝트는 스태틱
- 필드에 저장된다. 또는 스태틱 필드의 초기값으로 오브젝트를 미리 만들어둘 수도 있다.
- 한번 오브젝트(싱글톤)이 만들어지고 난 후에는 getInstance() 메소드를 통해 이미 만들어져 스태틱 필드에 저장해둔 오브젝트를 넘겨준다.
싱글톤 패턴 구현방식의 문제 |
- private 생성자를 갖고 있기 때문에 상속할 수 없다.
- 싱글톤은 테스트하기가 힘들다.
- 서버환경에서는 싱글톤이 하나만 만들어지는 것을 보장하지 못한다.
- 싱글톤의 사용은 전역 상태를 만들 수 있기 때문에 바람직하지 못하다.
'Java > Language' 카테고리의 다른 글
Parameter... 표현(동일한 파라메터를 여러개 받을 때, 자동으로 배열처리) (0) | 2011.05.09 |
---|---|
java.io.Serializable , 직렬화, 멀티쓰레드에 사용되는 도메인 객체에 선언된다. (3) | 2011.05.04 |
Java Archive : 자바 관련 창고 (1) | 2011.03.10 |
StopWatch.java (0) | 2011.03.04 |
아저씨의 형식 규칙, CodeAnalyzer.java (0) | 2011.03.03 |