기술면접
싱글톤 패턴이란
붕어사랑 티스토리
2021. 4. 17. 18:04
반응형
싱글톤은 태양, 달 이라고 생각하면 편하다. 이 우주에서 태양과 달은 하나밖에 없고 지구 어디서든 볼 수 있다.
즉 클래스를 만들었는데 그 클래스는 딱 하나만 생성되고 어디서든지 접근 가능하게 만들었다고 하자
이렇게 클래스를 만드는 기법을 싱글톤 패턴이라고 한다.
#include<iostream>
class Singleton{
private:
static Singleton* instance;
Singleton(){};
public:
static Singleton* getInstance(){
if(instance == nullptr){
instance = new Singleton();
}
return instance;
}
};
//static 멤버 변수는 모든 객체가 공유해야 하므로 프로그램 전체 영역에서 메모리 유지가 되야 한다.
//따라서 반드시 전역 범위에서 정의 및 초기화를 해주어야 한다.
Singleton* Singleton::instance = 0;
int main(){
Singleton* s = Singleton::getInstance();
Singleton* r = Singleton::getInstance();
std::cout<<s<<std::endl;
std::cout<<r<<std::endl;
return 0;
}
반응형