if (animal instanceof Cat){
Cat cat = (Cat) animal;
cat.meow();
// other cat operations
}else if(animal instanceof Dog){
Dog dog = (Dog) animal;
dog.woof();
// other dog operations
}
기존에는 instanceof 로 타입을 비교후 비교 타입과 일치하는 경우 Casting을 통하여 변수를 선언한 후 사용 하였다. 하지만 Java 14이후에는 instaceof로 타입 비교 후 바로 변수로 지정하여 사용 할 수 있다.
if(animal instanceof Cat cat){
cat.meow();
}else if(animal instanceof Dog dog){
dog.woof();
}