C++
[#8 열혈강의 C++]
Kmentor
2021. 7. 8. 21:02
2021-07-08
[Chapter 07] 상속의 이해
B클래스가 A클래스를 상속한다 는 의미는 B클래스는 A클래스의 모든 멤버를 물려받는다.
B클래스의 생성자는 자신이 상속한 A클래스의 멤버를 초기화할 의무가 있다. 그래서 B클래스의 생성자는 A생성자를 호출하는 형태로 A클래스의 멤버를 초기화 시킨다.
priavate의 접근제한의 기준은 클래스이다. 따라서 하위클래스에서 상위클래스의 멤버변수에 접근이 불가능하다.
그래서 상위클래스의 public 함수를 통해 간접접근만이 가능하다.
유도클래스의 객체생성과정에서 기존 클래스의 생성자는 100% 호출된다.
유도클래스의 생성자에서 기존클래스의 생성자 호출을 명시하지 않으면 기존클래스의 void생성자가 호출된다.
C++의 접근제어 지시자는 private, protected, public 이 있는데, 그 중 protected는 클래스 외부에서 접근 불가 라는 점에서 private과 유사하다. 하지만 유도클래스에선 다르다. 유도클래스에서 protected 는 접근 가능하지만 private는 불가능하다.
상속도 protected, private, public 3가지 종류가 있다.
protected 상속은 protected보다 접근의범위가 넓은 멤버는 protected로 변경시켜 상속하겠다 라는 의미이다.