부모클래스의 오버라이드된 메서드를 자식클래스의 오버라이딩 메서드에서 어떻게 호출할 수 있는가?

초월차선·2023년 2월 11일

Java

목록 보기
5/14

자식클래스가 new해서 생성된 instance는 부모 클래스와 is a관계를 가지고 있다. 그래서 자식클래스는 얼마든지 부모클래스에 접근할 수 있다. 자식클래스를 new했을때, 메모리에 올라가는 구조를 먼저보자. 아래그림과 같이, 자식클래스가 new되면 부모클래스도 같이 올라간다. ,

이 때, 아래와 같이 child인스턴스를 부모 클래스로 형변환 할 수 있는데, 형변환하여 부모클래스의 메서드를 호출하더라도 자식클래스의 오버라이드된 메서드가 호출되는것을 알 수 있다.

그래서, 자식클래스의 오버라이딩 메서드에서 부모클래스의 오버라이드된 메서드를 호출 하기 위해서는 부모클래스를 new해주어야 한다.다시 말하면 부모클래스의 메서드가 자식클래스에서 오버라이딩되어있는 상태에서 부모클래스의 메서드를 호출하기위해서는 인스턴스를 또 하나 생성해 호출해야 한다는 것이다. 물론 new한 부모 클래스의 주소값은 아래 그림처럼 다르다.

😀초보개발자여서 잘못된 내용이 있으면 댓글로 지적부탁드립니다 감사합니다

0개의 댓글