메소드 오버라이딩과 super로 메소드 호출하는거에 대한 질문입니다.
꽃님이
2023.04.01
제가 자바에서 내가 A클래스를 B클래스에 상속시키고 이걸 다시 C클래스에 상속시켰다고 하면제 c에서 super 이용해서 A에 있는 메소드 호출 가능한지 궁금해서 이렇게 질문 올립니다. (A의 메소드를 B에서 오버라이딩했고 C에서도 오버라이딩했습니다.)
-
물보라
0. C에서 super.someMethod()라고 하면
1. B에 someMethod()가 오버라이딩되어 있다면 B의 someMethod()가 호출 됩니다.
2. B에 someMethod()가 오버라이딩되어 있지 않다면 A의 someMethod()가 호출 됩니다.
그러므로 A에 선언된 메소드가 B, C에 모두 오버라이딩되어 있으므로
C에서는 바로위에 오버라이딩되어 있는 것 밖에 볼 수 없습니다.