5장 : 싱글턴 패턴
Last updated
Last updated
싱글턴 패턴은 해당 클래스의 인스턴스가 하나만 만들어지고, 어디서든지 그 인스턴스에 접근할 수 있도록 하기 위한 패턴입니다.
non_thread_safe
thread_safe
어떤 클래스에 싱글턴 패턴을 적용하면 애플리케이션에 그 클래스의 인스턴스가 최대 한 개까지만 있도록 할 수 있습니다.
싱글턴 패턴을 이용하면 유일한 인스턴스를 어디서든지 접근할 수 있도록 할 수 있습니다.
자바에서 싱글턴 패턴을 구현할 때는 private 생성자와 정적 메소드, 정적 변수
를 사용합니다.
다중 스레드를 사용하는 애플리케이션에서는 속도와 자원 문제를 파악해보고 적절한 구현법을 사용해야 합니다. (사실 모든 애플리케이션에서 멀티스레딩을 쓸 수 있다고 생각해야 합니다)
DCL을 사용하는 방법은 자바 2 버전(자바 1.5)보다 전에 나온 버전에서는 쓸 수 없다.
클래스 로더가 여러 개 있으면 싱글턴이 제대로 작동하지 않고, 여러 개의 인스턴스가 생길 수 있다.
1.2 버전보다 전에 나온 JVM을 사용하는 경우에는 가비지 컬렉터 관련 버그 때무에 싱글턴 레지스트리를 사용해야 할 수도 있습니다.