상속 관계란 ‘is a 관계’라고 했죠. ‘Van is a Car’, 즉 ‘Van은 Car다’라는 관계가 성립돼야 한다는 의미입니다. 우리는 현실에서 밴을 가리키며 자동차라고 이야기하죠? 자바에서도 마찬가지입니다.
상속 관계가 성립하므로 Van 객체를 Car형의 참조 변수로 참조할 수 있습니다. 부모 타입으로 자식 객체를 참조하게 되면 부모가 가진 메서드만 사용할 수 있습니다.
어떤 의미인지 직접 사용해보겠습니다. VanExam.java 파일에서 테스트합니다.
package javaStudy; public class VanExam { public static void main(String[] args) { Car c = new Van(); c.run(); } }
실행결과
Car의 run 메서드
코드 Car c = new Van();을 보면 Car형 변수 c가 Van의 인스턴스를 가리키고 있습니다. 묵시적 형변환이 일어났습니다.