참조변수의 타입 변환(캐스팅)이 가능한지 여부를 boolean 타입으로 확인할 수 있음
참조_변수 instanceof 타입
참조_변수 instanceof 타입을 입력했을 때 리턴 값이 true이면 타입 변환 가능
flase 면 불가능, 참조변수가 null 이면 false를 반환
class Animal {
}
class Bat extends Animal {
}
class Cat extends Animal {
}
public static void main(String[] args) {
Animal animal = new Animal();
System.out.println(animal instanceof Object); //true
System.out.println(animal instanceof Animal); //true
System.out.println(animal instanceof Bat); //false 다운캐스팅은 업캐스팅이 되어는 참조변수에 가능함
Animal cat = new Cat();
System.out.println(cat instanceof Object); //true
System.out.println(cat instanceof Animal); //true
System.out.println(cat instanceof Cat); //true
System.out.println(cat instanceof Bat); //false 서로 상속 관계가아님
}