Language 초급

패턴 매칭으로 타입 확인과 캐스트를 한 단계로 결합합니다.

✕ Java 8
if (obj instanceof String) {
    String s = (String) obj;
    System.out.println(s.length());
}
✓ Java 16+
if (obj instanceof String s) {
    IO.println(s.length());
}
이 코드에 문제가 있나요? 알려주세요.
🔄

중복 캐스트 없음

타입 확인과 변수 바인딩이 단일 표현식에서 이루어집니다.

📏

줄 수 감소

두 줄 대신 한 줄 — 캐스트 줄이 완전히 사라집니다.

🛡️

범위 안전성

패턴 변수는 타입이 보장되는 범위에서만 존재합니다.

이전 방식
instanceof + 캐스트
모던 방식
패턴 변수
JDK 버전
16
난이도
초급
instanceof 패턴 매칭
사용 가능

JDK 16 (2021년 3월) 이후 널리 사용 가능

instanceof 패턴 매칭은 타입 확인 후 중복 캐스트를 제거합니다. 변수는 패턴이 매칭되는 곳에서만 자동으로 범위가 지정되어 코드가 더 안전하고 짧아집니다.

공유 𝕏 🦋 in