인프런 커뮤니티 질문&답변

Becher Wasser님의 프로필 이미지

작성한 질문수

홍정모의 따라하며 배우는 C++

11.5 상속과 접근 지정자

이렇게 정리 했는데 제가 잘 이해한걸까요?

작성

·

369

1

답변 2

11

안녕하세요!

네. 잘 정리하신 것 같아요 :)

저도 한번 정리해볼게요!

public 👉 외부에서 자유롭게 접근 가능

protected 👉 외부에서 접근 불가. 자손 클래스 내부에서의 접근은 허용

private 👉 자기 자신 클래스 내부를 제외하곤 모든 곳에서 접근 불가능.

public 상속 

public 보다 자유로운 것은 public만큼으로 엄격해진다. (그러나 public 보다 자유로운건 없으므로 3 가지 모두 다 원래의 접근 지정자 성격이 유지된다.) public 보다 엄격한 것은 원래 성격을 유지한다.

부모의 public 멤버 변수 👉 자식 클래스에서도 public 멤버 변수

부모의 protected 멤버 변수 👉 자식 클래스에서도 protected 멤버 변수

부모의 private 멤버 변수 👉 자식 클래스에서 사용 불가능 

protected 상속 

protected 보다 자유로운 것은 protected만큼으로 엄격해진다. (protected 보다 자유로운건 public) protected 보다 엄격한 것은 원래 성격을 유지한다.

부모의 public 멤버 변수 👉 자식 클래스에서는 protected 멤버 변수

부모의 protected 멤버 변수 👉 자식 클래스에서도 protected 멤버 변수

부모의 private 멤버 변수 👉 자식 클래스에서 사용 불가능 

private 상속 

private 보다 자유로운 것은 private 만큼으로 엄격해진다. (private 보다 자유로운건 protected , public) private 보다 엄격한 것은 원래 성격을 유지한다. (그러나 private 보다 엄격한 것은 없다.)

부모의 public 멤버 변수 👉 자식 클래스에서는 private 멤버 변수 👉 손자 클래스에서 사용 불가능 

부모의 protected 멤버 변수 👉 자식 클래스에서는 private 멤버 변수 👉 손자 클래스에서 사용 불가능

부모의 private 멤버 변수 👉 자식 클래스에서 사용 불가능 

0

이 정리해주신 내용을 읽으니 더 명확해졌네요 감사합니다.