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

sin님의 프로필 이미지
sin

작성한 질문수

김영한의 실전 자바 - 기본편

오버라이딩의 조건

작성

·

113

0

왜 오버라이딩하는 메서드의 접근 제어자는 부모 클래스의 메서드보다 더 제한적이면 안되는 건가요??

 

 

답변 1

2

안녕하세요. sin님, 공식 서포터즈 코즈위버입니다.

상속은 부모의 기능을 이어받아 확장하기 위한 방법입니다. 그래서 부모의 기능을 확장은 가능하나 축소는 할 수 없도록 설게되어있습니다.

기술적으로는, 자바와 같은 객체지향 언어는 어떤 메소드를 호출하게 될지를 런타임에 알 수 있습니다. 부모 객체의 어떤 메서드가 public 이어서 호출 할 수 있다고 판단하였으나 실제로 호출하여보니 자식 객체의 private 메서드를 호출해야 하는 일이 생길 수 있습니다. 그래서 이를 문법으로 금지하고 있습니다.

감사합니다.

sin님의 프로필 이미지
sin

작성한 질문수

질문하기