본문 바로가기
쿤즈 Dev/Java

[Java] Java14에서 추가된 switch 문법: JEP 361

by :)Koon 2023. 9. 3.

자바에서는 조건문을 사용할 때 사용할 수 있는 switch 문법이 있다. 여러 가지 case를 고려해서 조금 간결해 보이는 문법으로 표현할 수 있다. 그리고 이 문법에서 추가적으로 Java 14부터 새롭게 추가된 switch 문법이 있다.

이번 포스팅에서는 새롭게 추가된 switch 문법에 대해서 알아보자.


Java14 switch 문법: JEP 361

자바에서 switch 문법은 조금씩 변경되거나 추가되어 왔다. 우선 자바에서 사용하는 switch 문법은 아래 링크에서 확인하자.

2023.08.19 - [쿤즈 Dev/Java] - [Java] 조건문 (switch) 사용 방법

 

[Java] 조건문 (switch) 사용 방법

이전 포스팅에서 조건문 (if) 사용 방법과 삼항 연산자 사용 방법에 대해서 알아보았다. 조건문은 프로그래밍에서 필수 요소 중 하나다. true, false를 판단해야 하는 요소들이 많이 때문이다. 조건

koonsland.tistory.com

 

자바(Java) 12에서 추가된 switch 표현식은 기존의 switch 문을 더 간경하고 표현력 있는 방식으로 사용할 수 있도록 해주었다. 이전의 switch 문에서 각 case 블록이 종료될 때마다 'break' 문을 사용해야 했지만, switch 표현식에서는 이러한 번거로움을 줄여주었다.

public class SwitchTest {
    public static void main(String[] args) {
        int day = 5;
        String dayName = switch (day) {
            case 1 -> "Monday";
            case 2 -> "Tuesday";
            case 3 -> "Wednesday";
            case 4 -> "Thursday";
            case 5 -> "Friday";
            default -> "Invalid day";
        };

        System.out.println("Day: " + dayName);
    }
}

기존 'switch' 문법에서 변경된 부분은 각 case 블록은 화살표('->')를 사용하여 표현되었다. 마지막의 'default' 블록은 선택사항이다. 또한 'break' 문이 필요하지 않다. 이를 통해서 코드의 가독성을 높이고 작성하기 쉬운 코드를 만들 수 있다.

 

여기서 끝나지 않고 추가된 'switch' 문에서는 조건을 합칠 수 있다.

public class SwitchTest {
    public static void main(String[] args) {
        int day = 5;
        String dayName = switch (day) {
            case 1, 2, 3, 4, 5 -> "Weekday";
            case 6, 7 -> "Weekend";
            default -> "Invalid day";
        };

        System.out.println("Day: " + dayName);
    }
}

그리고 이미 되어 예시로 되어있는 부분중 반환값을 받을 수 있는 부분이 있다. 'switch' 문법의 결과를 String dayName으로 받았다. 이런 문법들이 추가되면서 조금 더 직관적으로 알아볼 수 있는 프로그래밍이 가능해졌다.


이번 포스팅에서는 추가된 'switch' 문법에 대해서 알아보았다. 자바(Java)는 지금도 그렇고 앞으로도 계속해서 발전해 나갈 예정이므로 추가되는 문법에 대해서는 학습해 두는 것이 좋다.

댓글