정말 자주 쓰는 디자인 패턴 중 하나인 싱글톤 패턴이다. 개인적으로 디자인 패턴 중에서는 제일 구현도 쉽고 활용도도 높지 않나 한다.

웬만한 객체지향 언어는 지원이 되므로 어떤 형식을 가지는지 이해하면 타 언어(Java 등)에서도 활용 가능하다.

 'static'으로 생성된 객체의 특징인 "프로그램이 실행 시 함께 할당되며(일반적으로), 프로그램 종료까지 메모리에서 해제되지 않는다"는 점을 이용하며,

단 하나의 객체만 만들고 실행 내내 해당 객체만 불러오는 특징이 있다. 그렇기 때문에 보통 프로그램 내에서는 매니저 클래스로 많이 사용된다.

 사용되는 예시는 다음과 같은 형식이다. 사용 시에는 Singleton::Instance->함수() 등 다양한 방법이 있다


class Singleton

{

public:

static Singleton* Instance()

{

if( !m_pInstance ) // 인스턴스 할당

m_pInstance = new Singleton;


return m_pInstance;

}


private:

Singleton()

{

//초기화

}


~Singleton()

{

// 인스턴스 자체는 new로 생성하기 때문에 자동 삭제된다

};


static Singleton* m_pInstance;

};


+ Recent posts