JAVA · 기초 문법
instanceof 패턴 매칭
Java 16+의 instanceof 패턴 매칭으로 형변환 없이 바로 변수를 사용합니다.
기초 문법중급instanceof패턴매칭Java16형변환
핵심 설명
Java 16+의 instanceof 패턴 매칭으로 형변환 없이 바로 변수를 사용합니다.
Java code
public class InstanceofPattern {
public static void main(String[] args) {
Object obj = "Hello, Java 21!";
// 기존 방식
if (obj instanceof String) {
String s = (String) obj;
System.out.println(s.toUpperCase());
}
// 패턴 매칭 (Java 16+)
if (obj instanceof String s) {
System.out.println(s.length());
}
// 논리 연산자와 함께
if (obj instanceof String s && s.length() > 5) {
System.out.println("긴 문자열: " + s);
}
// 부정에서도 활용
if (!(obj instanceof String s)) {
System.out.println("문자열 아님");
return;
}
// 여기서 s 사용 가능
System.out.println(s.toLowerCase());
}
}학습 팁
패턴 변수의 스코프는 확정적으로 true인 범위에서만 유효합니다. &&와 함께 쓸 수 있지만 ||에서는 쓸 수 없습니다.
주의할 점
obj instanceof String s || s.isEmpty()는 컴파일 에러입니다. ||의 오른쪽에서는 패턴 변수가 확정되지 않습니다.
자주 묻는 질문
instanceof 패턴 매칭란 무엇인가요?
Java 16+의 instanceof 패턴 매칭으로 형변환 없이 바로 변수를 사용합니다.
instanceof 패턴 매칭 학습 시 주의할 점은 무엇인가요?
obj instanceof String s || s.isEmpty() 는 컴파일 에러입니다. || 의 오른쪽에서는 패턴 변수가 확정되지 않습니다.
Continue Learning
Java 학습을 이어가세요
총 200개의 독립 HTML 학습 문서 중 하나입니다. 각 문서는 고유 URL과 canonical 메타데이터를 가집니다.