C++ 접근 지정자 (public
, private
, protected
)
1. 개요
1.1 문서 개요
이 문서는 C++에서 클래스 구성 요소의 접근 제어를 위한 public
, private
, protected
접근 지정자(access specifier)에 대해 설명합니다. 접근 지정자는 캡슐화 원칙을 지원하며, 외부에서 멤버에 대한 접근 범위를 제어하는 데 사용됩니다.
2. 내용
2.1 접근 지정자 종류와 의미
2.1.1 public
외부에서도 자유롭게 접근 가능한 멤버입니다.
class MyClass {
public:
int x;
};
2.1.2 private
클래스 외부에서는 접근할 수 없는 멤버로, 내부 구현 숨김에 사용됩니다.
class MyClass {
private:
int x;
};
2.1.3 protected
파생 클래스에서는 접근 가능하지만 외부에서는 접근 불가능한 멤버입니다.
class Base {
protected:
int x;
};
2.2 클래스 상속과 접근 지정자
2.2.1 public 상속
기존 접근 수준을 유지합니다.
class Derived : public Base {};
2.2.2 protected 상속
public
멤버가 protected
로 변경됩니다.
class Derived : protected Base {};
2.2.3 private 상속
모든 상속된 멤버가 private
으로 변경됩니다.
class Derived : private Base {};
3. 마무리
C++ 접근 지정자는 클래스의 정보 은닉을 실현하고, 코드의 안정성과 유지보수성을 높이는 데 기여합니다. public
, private
, protected
의 올바른 사용은 클래스 간의 인터페이스 설계와 구현 분리를 명확히 할 수 있습니다.