본문 바로가기

프로그래밍/Java

[Java] Pattern Matching for instanceof

2021년 11월 23일에 작성된 글입니다.

Pattern Matching for instanceof

instanceof에서 객체 타입 확인뿐만 아니라 캐스팅까지 할 수 있다.

Release

  • JDK 14: preview
  • JDK 15: second preview
  • JDK 16

JEP 394 Pattern Matching for instanceof

코드로 비교해보자

Before

if (animal instanceof Cat) {
    Cat cat = (Cat) animal;
    cat.meow();
} else if (animal instanceof Dog) {
    Dog dog = (Dog) animal;
    dog.woof();
}

instanceof를 이용해 객체 타입을 확인하고 추가로 캐스팅을 해줘야 했다.

After

if (animal instanceof Cat cat) {
    cat.meow();
} else if(animal instanceof Dog dog) {
    dog.woof();
}

instanceof에서 객체 타입 확인과 캐스팅을 한번에 해결할 수 있다.

'프로그래밍 > Java' 카테고리의 다른 글

[Java] JDK 버전별 차이점 정리 (1.5~17)  (2) 2024.09.04
[Java] Switch Expression  (0) 2024.09.04
[Java] 레코드(Record)  (0) 2024.09.04