쉽게 이해하기
부모 손잡이 뒤에 실제 Car가 있다면 (Car)v로 Car 전용 동작에 접근할 수 있습니다. 실제 객체가 단순 Vehicle이면 강제로 Car라고 적어도 자동차가 되지 않습니다. instanceof로 확인하면 잘못된 변환을 피할 수 있습니다.
눈으로 따라가기
if (v instanceof Car) { Car c = (Car)v; }
class Vehicle {}
class Car extends Vehicle { int boost(){return 9;} }
public class Main {
public static void main(String[] args) {
Vehicle v = new Car();
try { System.out.print(((Car)v).boost()); }
catch (ClassCastException e) { System.out.print("cast-error"); }
}
}시험 함정
컴파일 가능한 형변환도 실행 중 ClassCastException을 일으킬 수 있습니다.
함께 보는 관련 주제
비슷한 개념의 핵심과 함정을 이 페이지에서 비교합니다.
즉시 문제 · 4개
정답을 제출하면 해설과 관련 개념을 확인합니다. 틀린 문제는 자동으로 오답노트에 저장됩니다.
즉시 3문제관련 문제 전체검증 근거
기술 문서/실행 검증 · 마지막 검증 2026-09-27 · 핵심 코드 추적 유형 · 공식 출제 횟수 집계 없음