Switch 표현식
값을 반환하는 표현식으로서의 switch — break 없음, fall-through 없음.
코드 비교
✕ Java 8
String msg;
switch (day) {
case MONDAY:
msg = "Start";
break;
case FRIDAY:
msg = "End";
break;
default:
msg = "Mid";
}
✓ Java 14+
String msg = switch (day) {
case MONDAY -> "Start";
case FRIDAY -> "End";
default -> "Mid";
};
이 코드에 문제가 있나요? 알려주세요.
모던 방식이 더 나은 이유
값 반환
switch 결과를 직접 대입합니다 — 임시 변수가 필요 없습니다.
fall-through 없음
화살표 구문은 break 누락으로 인한 우발적 fall-through 버그를 제거합니다.
완전성 검사
컴파일러가 모든 케이스가 처리되었는지 확인합니다.
이전 방식
Switch 문
모던 방식
Switch 표현식
JDK 버전
14
난이도
초급
JDK 지원
Switch 표현식
사용 가능
JDK 14 (2020년 3월) 이후 널리 사용 가능
동작 원리
Switch 표현식은 값을 직접 반환하고, 화살표 구문을 사용하여 fall-through 버그를 방지하며, 컴파일러가 완전성을 검증합니다. 오류가 발생하기 쉬운 문 형태를 대체합니다.
관련 문서