Java에서는 업 캐스팅이 허용되지만 다운 캐스팅은 컴파일 오류를 발생시킵니다.
캐스트를 추가하여 컴파일 오류를 제거 할 수 있지만 런타임시 중단됩니다.
이 경우 Java가 런타임에 실행될 수없는 경우 다운 캐스팅을 허용하는 이유는 무엇입니까?
이 개념에 실용적인 용도가 있습니까?
public class demo {
public static void main(String a[]) {
B b = (B) new A(); // compiles with the cast,
// but runtime exception - java.lang.ClassCastException
}
}
class A {
public void draw() {
System.out.println("1");
}
public void draw1() {
System.out.println("2");
}
}
class B extends A {
public void draw() {
System.out.println("3");
}
public void draw2() {
System.out.println("4");
}
}