쉽게 이해하기
Car 객체는 Vehicle의 일종이므로 Vehicle 변수에 넣을 수 있습니다. 자동차 자체가 버스로 바뀌는 것이 아니라, 부모 설명서로 자동차를 다루는 것입니다. 부모가 선언한 메서드를 호출할 수 있고, 그 메서드를 자식이 재정의했다면 자식 동작을 실행합니다.
눈으로 따라가기
Vehicle v = new Car(); → 객체는 여전히 Car
class Vehicle { String move(){return "V";} }
class Car extends Vehicle { String move(){return "C";} }
class Bus extends Vehicle { String move(){return "B";} }
public class Main {
public static void main(String[] args) {
Vehicle v = new Car();
System.out.print(v.move());
}
}시험 함정
부모 타입 변수로 자식에만 선언된 메서드를 바로 호출하면 컴파일 오류가 발생합니다.
함께 보는 관련 주제
비슷한 개념의 핵심과 함정을 이 페이지에서 비교합니다.
즉시 문제 · 5개
정답을 제출하면 해설과 관련 개념을 확인합니다. 틀린 문제는 자동으로 오답노트에 저장됩니다.
즉시 3문제관련 문제 전체검증 근거
기술 문서/실행 검증 · 마지막 검증 2026-09-27 · 핵심 코드 추적 유형 · 공식 출제 횟수 집계 없음