Java 14버전 이후 switch 문은 더 간결하고 직관적으로 개선되었습니다. 기존의 switch 문은 break 문을 사용하고, 각 case에서 변수 할당을 여러 번 수행해야 했지만, 최신 Java에서는 이런 복잡한 절차 없이 switch 문을 더 깔끔하게 사용할 수 있습니다.
기존 switch 문은 break 문이 필요하며, 실수로 break를 누락하면 'fall-through' 문제가 발생할 수 있습니다. 또한, 변수 선언 및 각 case에 따른 값 할당으로 인해 코드가 길고 복잡해지곤 했습니다.
기존 switch 문 예시
package switchtest;
public class OldSwitch {
public static void main(String[] args) {
int grade = 2;
int coupon;
switch (grade) {
case 1:
coupon = 1000;
break;
case 2:
coupon = 2000;
break;
case 3:
coupon = 3000;
break;
default:
coupon = 500;
}
System.out.println("발급받은 쿠폰: " + coupon);
}
}
위 코드에서는 각 case에 따라 변수를 할당하고 break 문을 사용해 switch 블록을 종료합니다. 하지만 break 문이 없으면 예기치 않은 결과를 초래할 수 있습니다.
Java 14 이후의 switch 문에서는 화살표(->) 구문을 사용해 코드를 더 간결하게 작성할 수 있습니다. 각 case가 결과값을 반환하고, break 문이 필요하지 않으며, 변수 할당을 동시에 할 수 있습니다. 이렇게 하면 코드의 안정성이 향상되고, 가독성이 크게 좋아집니다.
새로운 switch 문 예시
package switchtest;
public class NewSwitch {
public static void main(String[] args) {
int grade = 2;
int coupon = switch (grade) {
case 1 -> 1000;
case 2 -> 2000;
case 3 -> 3000;
default -> 500;
};
System.out.println("발급받은 쿠폰: " + coupon);
}
}
이 코드는 새로운 switch 문을 사용하여 더 간결하고 직관적으로 값을 반환합니다. break 문이 필요하지 않아 코드가 단순해지며, switch 문을 식(expression)처럼 사용할 수 있습니다.
Java 14 이후의 switch 문 개선은 코드의 간결성과 가독성을 크게 향상시킵니다.
'개념 정리 > Java' 카테고리의 다른 글
자료형(Data Type) – 문자열, StringBuffer, 배열 (0) | 2024.10.25 |
---|---|
자료형(Data Type) - 숫자, 부울, 문자, 문자열 (0) | 2024.10.25 |
변수와 표기법 (0) | 2024.10.25 |
자바(Java)란 어떤 것일까? 🤔 (1) | 2024.10.25 |