컨트롤 클래스
또는 핸들러 클래스
라고 한다."자식의 생성자는 자신이 상속한 클래스의 멤버를 초기화할 의무를 지닌다. 그래서 자식클래스의 생성자는 부모 클래스의 생성자를 호출하는 형태로 물려 받은 멤버변수들의 초기화를 하는 것이 좋다."
protected
로 선언된 멤버가 허용하는 접근의 범위private
, protected
, public
이렇게 세가지가 존재한다.private < protected < public
private
과 protected
모두 클래스의 외부에서는 접근이 불가능하다.protected
는 기초클래스를 상속받는 유도 클래스에서는 접근 가능하다.protected
는 클래스 내부에서 쓸 수 있는거지 객체만들어서 외부에 드러낼수 없는건 private
이랑 똑같다.기초 클래스와 이를 상속하는 유도 클래스 사이에서도 '정보은닉'은 지켜지는 게 좋다.
protected 또한 신중히 쓸 것!
public
상속 class Derived : public base
{
...
};
protected
상속protected
보다 접근의 범위가 넓은 멤버는 protected
로 변경시켜서 상속하겠다.class Derived : protected base
{
...
};
private
상속private
보다 접근의 범위가 넓은 멤버는 private
으로 상속시켜서 상속하겠다.