데이터 은닉은 프로그램의 기능이 클래스 유형의 내부 표현에 직접 액세스하는 것을 방지하는 객체 지향 프로그래밍의 중요한 기능 중 하나입니다. 클래스 멤버에 대한 액세스 제한은 레이블이 지정된 액세스 수정자(클래스 본문 내의 public, private 및 protected 섹션)에 의해 지정됩니다.
회원 및 클래스에 대한 기본 액세스는 비공개입니다.
class Base { public: // public members go here protected: // protected members go here private: // private members go here };
public 멤버는 클래스 외부가 아닌 프로그램 내부 어디에서나 액세스할 수 있습니다. 멤버 없이 공용 변수의 값을 설정하고 가져올 수 있습니다.
private 멤버 변수 또는 함수는 액세스할 수 없으며 클래스 외부에서 볼 수도 없습니다. class 및 friend 함수만 private 멤버에 액세스할 수 있습니다.
보호된 멤버 변수 또는 함수는 private 멤버와 매우 유사하지만 파생 클래스라고 하는 자식 클래스에서 액세스할 수 있다는 추가 이점을 제공했습니다.