영넌 개발로그
[C ++ 디자인 패턴] Singleton 패턴이란 ? 본문
Singleton 패턴
디자인 패턴은 정석이라고 생각하면 된다. 그 중에 싱글톤 패턴은 클래스로부터 오직 한 개의 객체만 생성되도록 하는 방법이다.
이미 만들어진 객체가 있는 상태에서 또 다시 객체 생성 호출이 왔을 경우, static 키워드를 이용하여 원래 만들어진 객체의 주소를 넘겨주는 방식으로 만들어보자
class Car
{
private:
Car() {}
static Car* instance;
public:
static Car* getInstance() {
if (instance != nullptr) {
return instance;
}
else {
instance = new Car();
return instance;
}
}
};
Car* Car::instance = nullptr;
int main() {
Car* c = Car::getInstance();
Car* d = Car::getInstance();
Car* e = Car::getInstance();
cout << " c addr: " << c << endl;
cout << " d addr: " << d << endl;
cout << " e addr: " << e << endl;
return 0;
}
'코딩 > C++' 카테고리의 다른 글
[C++ 기초] Friend function / Friend class (0) | 2020.12.06 |
---|---|
[C++ 기초] Operator overloading 연산자 오버로딩이란? (0) | 2020.12.06 |
[C++ 기초] class 내 static 변수, static 함수, const static 변수 (0) | 2020.12.04 |
[C++ 기초] Copy constructor (deep copy, shallow copy) (0) | 2020.12.04 |
Comments