본문 바로가기
코딩/C++

접근 지정자

by rosemarie 2022. 11. 15.
반응형

private: 같은 클래스 소속인 멤버들끼리만 접근이 가능하고, 해당 클래스의 외부에서는 절대로 접근할 수 없다.

public: 같은 클래스 소속 멤버 뿐만 아니라, 해당 클래스 외부에서도 접근할 수 있는 권한을 준다. 정보의 은닉을 전혀 반영하지 않고 누구라도 접근가능하다.

protected: 외부에서는 접근할 수 없지만, 상속받은 자식 클래스에서는 접근할 수 있다.

 

<부모 클래스 지정 사용 시>

class Derived: public
	       protected
               private
  • 파생 유형이 public: 부모 클래스의 멤버는 그대로 자식 클래스에 상속된다. 자식 클래스는 부모 클래스의 private 멤버를 제외한 모든 멤버에 접근할 수 있다.
  • 파생 유형이 protected: 앞의 public일 경우와 특징은 거의 동일하다. 다만 이 경우의 자식 클래스는 외부에서 public 멤버조차도 접근할 수 없다.
  • 파생 유형이 private: 현재 자식 클래스에서 상속성이 정지한다.(= 현재 자식 클래스에서 대가 끊긴다.) 현재 자식 클래스에서는 private 멤버를 제외한 모든 멤버에 접근할 수 있다. 그러나 자식 클래스가 또 다른 자식 클래스(손자)에게 상속을 했을 경우 자식 클래스(손자)는 부모클래스(조부)의 어떤 멤버에도 접근할 수 없다.