싱글턴 패턴

|

싱글턴이란?

 

클래스의 객체를 단 하나만 만들게 해놓은 패턴.

싱글턴 패턴을 사용하면 어디서든지 전역변수 사용하는 것처럼 같은 객체를 여러 곳에서 사용할 수 있다.

전역변수나 전역객체는 생성해놓고 쓰지 않으면 메모리가 낭비된다는 단점이 있으나,

싱글턴의 경우는 한번이라도 호출하지 않으면 생성 자체가 안되기 때문에 전역변수와 같은 단점이 없다.


1
2
3
4
5
6
7
8
9
10
11
12
class ST{
private:
    ST(){}
public:
    ~ST(){ delete instance; }
    static ST* instance;
    static ST* Call()
    {
        if( instance == NULL ) instance = new ST;
        return instance;
    }
};
cs

생성자를 private에 선언하면 클래스 내부에서만 객체선언이 가능해 진다.

And