-
[c++]Singleton Pattern(싱글턴 패턴)이러저런 이야기 2019. 9. 9. 23:45
싱글턴 패턴이란?
단 한 개의 클래스 인스턴스만을 갖고 이 클래스에 대한 자원을 관리하는 것을 말합니다. 한 개의 인스턴스를 가지고 관리하여 프로그램 내에 단 하나만 존재해야 하는 객체가 필요할 때 사용하는 것이 일반적입니다. 하나의 인스턴스만 생성하는 것에 더해 그 인스턴스를 전역에서 접근할 수 있는 함수를 제공해야 합니다..
하지만 전역으로 만들면 main 함수 호출 이전에 초기화를 하므로 메모리를 잡게 됩니다. 또한 어떤 전역 객체의 생성자에서 싱글톤을 참조할 때 싱글톤의 객체가 생성되기 이전에 참조할 수 있기 때문에 객체의 생성 시점을 변경해야 하는 단점이 있습니다. (c++에서는 전역 객체 생성의 순서가 정의되지 않았기 때문입니다.)가장 기본적인 디자인 패턴이며 private에 생성자를 만들어 외부에서 생성을 할 수 없게 만듭니다. 그리고 getInstance라는 자기 자신을 만들어 반환하는 함수를 만듭니다. 위에 보이는 싱글턴은 가장 기본적인 싱글턴으로 누구나 쉽게 만들 수 있습니다. 하지만 기본적이며 쉽게 만들 수 있는 대신에 아까 설명했듯이 그만큼 단점도 많이 있습니다.
'이러저런 이야기' 카테고리의 다른 글
[선형 변환과 행렬의 관계] (0) 2019.12.19 프리스텀 컬링 (0) 2019.12.17 [STL Vector] push_back과 emplace_back의 차이 (0) 2019.11.29 [Lazy Initialization]늦은 초기화란 (0) 2019.09.09 [c++]Precompiled Header란?? (0) 2019.08.30