LANG/C++

[C++]07-3.protected선언과 세 가지 형태의 상속

혀니리리 2023. 5. 14. 15:19
728x90

private < protected < public

protected, private둘 다 클래스 외부에서는 접근이 불가능한 반면, 클래스 내부에서는 접근 가능.

but 상속의 경우, 유도클래스에서 private멤버 참조는 못하지만 protected멤버는 참조 가능.

기초 클래스와 이를 상속하는 유도클래스 사이에서도 '정보은닉' 지켜지는 것이 좋음

 

1.protected 상속

=> protected보다 접근의 범위가 넓은 멤버 protected로 변경시켜서 상속하겠다.

public -> protected로 바꿔줌

 

2.private상속

=> private보다 접근 범위가 넓은 멤버private으로 변경시켜서 상속하겠다.

private상속이 이뤄진 클래스를 다시 상속할 경우, 멤버함수를 포함하여 모든 멤버가 접근불가가 되기 떄문에 의미없는 상속이 됨.

 

3.public 상속

=> public보다 접근 범위가 넓은 멤버 public으로 변경시켜서 상속하겠다. = private를 제외한 나머지는 그냥 그대로 사속

 

실제로 public이외의 상속은 특별한 경우가 아니면 잘 상속하지 x

728x90

'LANG > C++' 카테고리의 다른 글

[C++]08-1.객체 포인터의 참조관계  (0) 2023.05.14
[C++]07-4.상속을 위한 조건  (0) 2023.05.14
[C++]07-2.상속의 문법적인 이해  (0) 2023.05.14
[C++]07-1.상속에 들어가기에 앞서  (0) 2023.05.14
[C++]06-3.C++에서의 static  (1) 2023.05.13