Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 비공개, 공개 및 보호 상속의 차이점


데이터 은닉은 프로그램의 기능이 클래스 유형의 내부 표현에 직접 액세스하는 것을 방지하는 객체 지향 프로그래밍의 중요한 기능 중 하나입니다. 클래스 멤버에 대한 액세스 제한은 레이블이 지정된 액세스 수정자(클래스 본문 내의 public, private 및 protected 섹션)에 의해 지정됩니다.

멤버 및 클래스에 대한 기본 액세스는 비공개입니다.

예시 코드

class Base {
   public:
      // public members go here
   protected:
      // protected members go here
   private:
      // private members go here
};

public 멤버는 클래스 외부가 아닌 프로그램 내 어디에서나 액세스할 수 있습니다. 멤버 없이 공개 변수의 값을 설정하고 가져올 수 있습니다.

private 멤버 변수 또는 함수는 액세스할 수 없으며 클래스 외부에서 볼 수도 없습니다. 클래스 및 친구 함수만 비공개 멤버에 액세스할 수 있습니다.

보호된 멤버 변수 또는 함수는 private 멤버와 매우 유사하지만 파생 클래스라고 하는 자식 클래스에서 액세스할 수 있다는 추가 이점을 제공했습니다.