화살표 스타일 switch
최신 switch 화살표 문법을 사용합니다
화살표 스타일 switch은(는) CoddyKit의 무료 Java Academy 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Java Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Java Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
기존 switch의 문제
기존 Java switch 문은 콜론 레이블을 사용했으며 각 경우 뒤에 break를 작성해야 했습니다. break를 빠뜨리면 실행이 다음 경우로 넘어가는 버그가 발생했습니다.
최신 Java(14 이상)에서는 이 문제를 완전히 해결하는 화살표 구문을 도입했습니다.
화살표 구문 기초
화살표 방식의 switch에서는 각 레이블에 : 대신 ->를 사용합니다. 다음 분기로 넘어가지 않으며 break도 필요하지 않습니다. 각 분기는 자신의 코드만 실행합니다.
public class Main {
public static void main(String[] args) {
int day = 3;
switch (day) {
case 1 -> System.out.println("Monday");
case 3 -> System.out.println("Wednesday");
default -> System.out.println("Other day");
}
}
}이제 break는 필요하지 않습니다
기존 방식에서는 각 경우 뒤에 break;를 작성해야 했습니다. 화살표 형식에서는 이러한 부담이 완전히 사라집니다. 일치하는 분기만 실행됩니다.
public class Main {
public static void main(String[] args) {
char grade = 'B';
switch (grade) {
case 'A' -> System.out.println("Excellent");
case 'B' -> System.out.println("Good");
case 'C' -> System.out.println("Average");
default -> System.out.println("Needs work");
}
}
}블록 본문
분기에 두 개 이상의 문이 필요하다면 중괄호 { }로 감싸십시오. 블록에는 원하는 개수만큼 문을 포함할 수 있습니다.
public class Main {
public static void main(String[] args) {
int code = 2;
switch (code) {
case 2 -> {
System.out.println("Processing code 2");
System.out.println("Done");
}
default -> System.out.println("Unknown");
}
}
}문자열로 분기하기
화살표 switch는 기존 방식과 마찬가지로 String 값을 기준으로 동작합니다. 내부적으로 equals를 사용해 비교하므로 대소문자를 구분합니다.
public class Main {
public static void main(String[] args) {
String fruit = "apple";
switch (fruit) {
case "apple" -> System.out.println("Red or green");
case "banana" -> System.out.println("Yellow");
default -> System.out.println("Unknown fruit");
}
}
}기본 분기
default 분기는 다른 경우에서 다루지 않은 모든 값을 처리합니다. 예상하지 못한 입력도 적절하게 처리할 수 있도록 항상 하나를 포함하는 것이 좋습니다.
public class Main {
public static void main(String[] args) {
int level = 99;
switch (level) {
case 1 -> System.out.println("Beginner");
case 2 -> System.out.println("Intermediate");
default -> System.out.println("Unknown level: " + level);
}
}
}열거형으로 분기하기
화살표 switch는 enum 형식과 매우 잘 어울립니다. 각 레이블에서 열거형 이름의 접두사를 생략할 수 있어 분기를 짧고 깔끔하게 유지할 수 있습니다.
public class Main {
enum Color { RED, GREEN, BLUE }
public static void main(String[] args) {
Color c = Color.GREEN;
switch (c) {
case RED -> System.out.println("Stop");
case GREEN -> System.out.println("Go");
case BLUE -> System.out.println("Calm");
}
}
}분기에서 메서드 호출하기
각 화살표 분기에서는 어떤 메서드든 호출할 수 있습니다. 실제 작업을 다른 곳에 위임하므로 switch를 읽기 쉽게 유지할 수 있습니다.
public class Main {
static void greet(String who) {
System.out.println("Hello, " + who);
}
public static void main(String[] args) {
int who = 1;
switch (who) {
case 1 -> greet("Alice");
case 2 -> greet("Bob");
default -> greet("Stranger");
}
}
}if-else보다 깔끔한 분기문
화살표 switch는 긴 if-else 연쇄를 대체하는 경우가 많습니다. 하나의 변수를 여러 고정 값과 비교할 때는 switch가 더 명확하게 읽힙니다.
public class Main {
public static void main(String[] args) {
int month = 4;
switch (month) {
case 12, 1, 2 -> System.out.println("Winter");
case 3, 4, 5 -> System.out.println("Spring");
case 6, 7, 8 -> System.out.println("Summer");
default -> System.out.println("Autumn");
}
}
}부수 효과만 수행하기
여기서 사용하는 화살표 형식의 switch 문은 작업을 수행하지만 값을 생성하지는 않습니다. 값을 반환하려면 다음 레슨에서 다룰 switch 표현식을 사용해야 합니다.
public class Main {
public static void main(String[] args) {
int n = 5;
switch (n % 2) {
case 0 -> System.out.println(n + " is even");
case 1 -> System.out.println(n + " is odd");
}
}
}여러 값과 하나의 분기
여러 값을 쉼표로 구분하여 하나의 분기를 공유할 수 있습니다. 이는 뒤에서 다룰 여러 레이블 경우의 미리 보기입니다.
public class Main {
public static void main(String[] args) {
char c = 'e';
switch (c) {
case 'a', 'e', 'i', 'o', 'u' -> System.out.println("Vowel");
default -> System.out.println("Consonant");
}
}
}빠른 확인
화살표 방식의 switch가 기존 콜론 방식보다 뛰어난 가장 큰 장점은 무엇입니까?
복습
최신 화살표 switch 구문을 배웠습니다.
:대신->를 사용합니다.- 다음 분기로 넘어가지 않으며
break도 필요하지 않습니다. - 여러 문으로 이루어진 분기에는 중괄호
{ }를 사용합니다. - 레이블을 쉼표로 구분하여 하나의 분기를 공유합니다.
- 항상
default분기를 포함합니다.
AI 튜터와 함께 Java을(를) 배우세요 — 무료
브라우저에서 실제 코드를 작성하고 실행하며, 24/7 AI 튜터로부터 즉각적인 도움을 받고, 웹이나 앱에서 중단한 부분부터 계속 학습하세요.
- 코스
- 104
- 레슨
- 374
자주 묻는 질문
“화살표 스타일 switch” 강의는 무료인가요?
네 — “화살표 스타일 switch” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Java Academy 강의 전체를 잠금 해제할 수 있습니다. Java Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“화살표 스타일 switch”에서 뭘 배우나요?
최신 switch 화살표 문법을 사용합니다 브라우저에서 직접 실행하는 실습 코드로 Java Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Java Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Java Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.
“화살표 스타일 switch” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Java Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Java Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- 화살표 스타일 switch
- 표현식으로서의 switch
- yield 키워드
- 다중 레이블 case