[c++] 생성자의 접근 지정자
C++에서는 생성자를 public, protected 또는 private으로 접근 지정할 수 있습니다. 생성자의 접근 지정자는 해당 클래스의 객체를 생성하는 데 어떤 제약을 둘지 결정합니다.
Public 생성자
Public 생성자는 클래스 외부에서 객체를 생성할 수 있도록 허용합니다. 대부분의 경우 클래스의 기본 생성자와 다양한 매개변수를 가진 생성자들은 public으로 선언됩니다.
class MyClass {
public:
// 기본 생성자
MyClass() {}
// 매개변수가 있는 생성자
MyClass(int param) {}
};
Protected 생성자
Protected 생성자는 해당 클래스 또는 파생 클래스 내부에서만 호출할 수 있습니다. 주로 상속 관련 기능에 활용되며, 외부에서 직접적인 객체 생성을 제약하기 위한 용도로도 사용될 수 있습니다.
class MyClass {
protected:
// protected 생성자
MyClass() {}
};
Private 생성자
Private 생성자는 해당 클래스 내에서만 호출할 수 있으며, 외부에서는 객체를 생성할 수 없습니다. 이렇게 하면 해당 클래스의 싱글톤(Singleton) 패턴 구현이 가능합니다.
class MyClass {
private:
// private 생성자
MyClass() {}
};
생성자의 접근 지정자를 올바르게 활용하여 객체 생성에 대한 제어를 할 수 있습니다.