싱글톤(Singleton) 패턴

2022. 12. 20. 00:01개인공부/디자인패턴

 

 

 

싱글톤 패턴이란?

객체의 인스턴스가 오직1개만 생성되는 패턴을 의미한다.

 

*인스턴스(instance)는 해당 클래스의 구조로 컴퓨터 저장공간에서 할당된 실체를 의미한다.

 

 

 

Core라는 객체를 처음 호출하면 인스턴스가 생성되고 2번째 이후에는 처음에 생성된 인스턴스를 반환하는 구조이다.

 

싱글톤 패턴의 장점

메모리적 측면이다 최초의 new연산자를 통해서 고정된 메모리 영역을 사용하고 추후 해당 객체에 접근할 때 메모리 낭비를 방지할 수 있다.

또다른 이점으로는 다른 클래스 간에 데이터 공유가 쉽다. 인스턴스가 static (전역)으로 사용되기 때문이다.

 

싱글톤 패턴의 단점

테스트하기 어렵다 싱글톤 인스턴스는 자원을 공유하고 있기 때문에 테스트가 결정적으로 격리된 환경에서 수행되려면

매번 인스턴스의 상태를 초기화 시켜주어야 한다. 그렇지 않으면 어플리케이션 전역에서  상태를 공유하기 때문에 테스트가 온전하게 수행되지 못한다.