디자인 패턴
개발 시 반복적으로 등장하는 문제를 해결하기 위한 일반화된 해결책.
싱글톤 패턴
객체의 인스턴스가 오직 1개만 생성하는 패턴.
예를 들어 플레이어가 제어하는 캐릭터처럼 1개만 존재해야하는 인스턴스를
다른 사람이 코드를 작성하다가 실수로 또 캐릭터를 생성하는 코드를 작성하는 오류를 막을 수 있는 것이
싱글톤 패턴입니다.
싱글톤 패턴 구조
1. 정적 멤버 변수
클래스트의 유일한 인스턴스를 저장합니다.
2. private 생성자
생성자를 private로 선언하여 외부에서 인스턴스를 생성하지 못하게 합니다.
3. 정적 메서드
정적 메서드를 통해 클래스의 유일한 인스턴스에 접근할 수 있도록 합니다.
class Singleton {
private:
static Singleton* instance;
Singleton() {}
Singleton(const Singleton&); // 복사 생성자 삭제
Singleton& operator=(const Singleton&); // 복사 대입 연산자 삭제
class Singleton {
private:
static Singleton* instance;
Singleton() {}
public:
Singleton(const Singleton&) = delete; // 복사 생성자 삭제
Singleton& operator=(const Singleton&) = delete; // 복사 대입 연산자 삭제
이렇게 작성 할 수도 있습니다.
- 복사 생성자
객체를 복사하여 새로운 객체를 생성하는 데 사용됩니다.
- 대입 연산자
이미 생성된 객체에 다른 객체의 값을 대입할 때 사용됩니다.
'C++' 카테고리의 다른 글
예외 처리 - try, catch, throw 와 어설션 비교 (0) | 2025.01.08 |
---|---|
this 포인터 사용법 (0) | 2025.01.07 |
기존의 for 문 & 범위 기반 for 문 비교 (0) | 2025.01.03 |
멤버 함수의 const 사용 (0) | 2025.01.02 |
Visual Studio의 메모리 할당 (0) | 2024.12.31 |