IT Study/etc

Singleton Pattern(싱글톤 패턴)

도뿌리 2018. 6. 7. 08:19

싱글톤 패턴

인스턴스를 한번만 생성하여 사용하는 디자인 패턴.

특정 클래스에 인스턴스를 static으로 선언하여 

다른 모든 클래스에서 최초로 static으로 선언하고 할당한 인스턴스에만 접근하는 디자인 패턴이다.

인스턴스가 필요할 때 인스턴스를 또 할당해서 사용하는 것이 아니라 

기존에 할당된 인스턴스를 사용 하는 것이다.


인스턴스를 무작위로 생성하지 않기 때문에 메모리 낭비를 방지할 수 있으며

다른 클래스와의 데이터 공유하기가 쉬워진다.


하지만 멀티 스레딩 환경에서 싱글턴 패턴을 적용하다보면 문제가 발생 할 수 있다.

동시에 접근하다가 하나만 생성되어야 하는 인스턴스가 두 개 생성될 수 있는 것이다.

(스레드를 공부할때 추가적 다시 다뤄보는걸로..!!)


간단한 예제로 싱글톤을 알아보자.


mainClass


myClass


youClass


SingletonClass