상속과 명시적 캐스팅

부모에서 자식으로 캐스팅은 반드시 명시적 캐스팅

실행 중 호환될 가능성이 전혀 없는 경우 컴파일러가 에러를 발생

  • 직접 상속 관계가 아닌 경우

부모 클래스 변수가 실제로 실행 중 자식 클래스 개체일 수는 있음

  • 가능성 0%는 아님

이건 실행 중 가능성 0%라 컴파일러가 미리 막아줌

ClassCastException

컴파일러가 잡을 수 없는 실행 중 문제는 예외로 발생

복습 퀴즈

public class A {} 
public class AA extends A {} 
public class AB extends A {} 
public class AAA extends AA {}

1. 다음 중 명시적 캐스팅이 필요 없는 경우는?

자식을 부모에 대입할 때는 암시적 캐스팅으로 충분함

2. 다음 중 컴파일 오류가 나는 경우는?

직접 상속 관계가 아님

0건의 항목