Home

(자바 기초) switch 문 완벽 가이드 - 기본 문법부터 최신 기능까지

Published in java
November 14, 2024
1 min read
(자바 기초) switch 문 완벽 가이드 - 기본 문법부터 최신 기능까지

안녕하세요! 코딩하는곰입니다. 오늘은 자바 프로그래밍에서 중요한 제어문 중 하나인 switch 문에 대해 깊이 있게 알아보겠습니다. switch 문은 다중 분기 처리를 간결하게 표현할 수 있는 유용한 문법으로, 자바 버전이 업데이트되면서 점점 더 강력한 기능을 제공하고 있습니다. 이 글에서는 기본적인 사용법부터 최신 자바 버전에서 추가된 고급 기능까지 모두 다루어보도록 하겠습니다.

switch 문의 기본 구조와 사용법

switch 문은 if-else 문의 연속적인 조건 검사를 대체할 수 있는 더 간결한 다중 분기 제어문입니다. 기본적인 문법 구조는 다음과 같습니다.

switch (표현식) {
case 값1:
// 값1에 해당하는 코드
break;
case 값2:
// 값2에 해당하는 코드
break;
default:
// 위의 어떤 case에도 해당하지 않을 때 실행할 코드
}

여기서 주의할 점은 각 case 블록 끝에 break 문을 사용해야 한다는 것입니다. break 문을 생략하면 다음 case로 계속 실행이 이어지는 ‘폴스루(fall-through)’ 현상이 발생합니다. 이는 때로는 의도적으로 사용되기도 하지만, 대부분의 경우 버그의 원인이 되므로 주의가 필요합니다. switch 문의 표현식으로는 정수형(byte, short, char, int), 문자열(String), 열거형(enum) 등이 사용될 수 있습니다. 자바 7부터는 문자열도 switch 문에서 사용할 수 있게 되었는데, 이는 내부적으로 hashCode()equals() 메서드를 사용하여 비교를 수행합니다.

(자바 기초) switch 문 완벽 가이드 - 기본 문법부터 최신 기능까지
(자바 기초) switch 문 완벽 가이드 - 기본 문법부터 최신 기능까지


switch 문의 다양한 활용 예제

  1. 기본적인 정수형 switch 예제
int day = 3;
String dayName;
switch (day) {
case 1:
dayName = "월요일";
break;
case 2:
dayName = "화요일";
break;
case 3:
dayName = "수요일";
break;
// ... 생략 ...
default:
dayName = "유효하지 않은 날짜";
}
  1. 문자열을 사용한 switch 예제 (Java 7+)
String fruit = "사과";
int price;
switch (fruit) {
case "사과":
price = 1000;
break;
case "바나나":
price = 1500;
break;
case "오렌지":
price = 1200;
break;
default:
price = 0;
}
  1. 열거형(enum)을 사용한 switch 예제
enum CoffeeSize { SMALL, MEDIUM, LARGE }
CoffeeSize size = CoffeeSize.MEDIUM;
int price;
switch (size) {
case SMALL:
price = 3000;
break;
case MEDIUM:
price = 4000;
break;
case LARGE:
price = 5000;
break;
}

(자바 기초) switch 문 완벽 가이드 - 기본 문법부터 최신 기능까지
(자바 기초) switch 문 완벽 가이드 - 기본 문법부터 최신 기능까지


남들과 겹치지 않는 닉네임이 필요할 때는 연관성 높은 키워드 기반 닉네임 생성기를 사용해보세요.

자바 12+의 향상된 switch 기능

최신 자바 버전에서는 switch 문이 더욱 강력해졌습니다. 자바 12부터 도입된 새로운 기능들을 살펴보겠습니다.

  1. 화살표(->) 구문과 다중 case 레이블
int month = 3;
String season = switch (month) {
case 12, 1, 2 -> "겨울";
case 3, 4, 5 -> "봄";
case 6, 7, 8 -> "여름";
case 9, 10, 11 -> "가을";
default -> "잘못된 월";
};
  1. yield 키워드 (Java 13+)
String dayType = switch (day) {
case 1, 2, 3, 4, 5 -> {
System.out.println("평일입니다.");
yield "평일";
}
case 6, 7 -> {
System.out.println("주말입니다.");
yield "주말";
}
default -> "잘못된 요일";
};
  1. 패턴 매칭 (Java 17 preview, 21 정식)
Object obj = "Hello";
String formatted = switch (obj) {
case Integer i -> String.format("int %d", i);
case Long l -> String.format("long %d", l);
case Double d -> String.format("double %f", d);
case String s -> String.format("String %s", s);
default -> obj.toString();
};

이러한 새로운 기능들은 switch 문을 더욱 표현력 있고 안전하게 만들어주며, 특히 yield와 화살표 구문을 통해 코드 가독성을 크게 향상시켜줍니다.

(자바 기초) switch 문 완벽 가이드 - 기본 문법부터 최신 기능까지
(자바 기초) switch 문 완벽 가이드 - 기본 문법부터 최신 기능까지


AI가 분석한 로또 번호 추천을 받고 싶다면, QR코드 스캔과 통계 기능을 제공하는 지니로또AI 앱이 도움이 될 것입니다.

오늘은 자바의 switch 문에 대해 기본적인 사용법부터 최신 기능까지 모두 살펴보았습니다. switch 문은 적절히 사용하면 코드를 훨씬 깔끔하고 이해하기 쉽게 만들 수 있는 강력한 도구입니다. 특히 자바의 최신 버전에서 추가된 기능들은 더욱 강력한 표현력을 제공하니, 가능하다면 최신 버전의 자바를 사용하는 것을 추천드립니다. 다음 시간에는 또 다른 유용한 자바 기능을 가지고 찾아오겠습니다. 코딩하는곰이었습니다! 감사합니다.

회원가입이나 비밀번호 변경 시 안전한 비밀번호를 빠르게 생성할 수 있는 온라인 도구가 유용합니다.









최상의 건강을 위한 영양가득한 식품과 정보! life-plus.co.kr 바로가기
최상의 건강을 위한 영양가득한 식품과 정보! life-plus.co.kr 바로가기



다채로운 문화축제와 공연 소식을 공유하는 블로그! culturestage.co.kr 바로가기
다채로운 문화축제와 공연 소식을 공유하는 블로그! culturestage.co.kr 바로가기



비트코인 세계로의 첫걸음! 지금 가입하고 거래 수수료 할인 혜택 받으세요! bitget.com 바로가기
비트코인 세계로의 첫걸음! 지금 가입하고 거래 수수료 할인 혜택 받으세요! bitget.com 바로가기




Tags

#developer#coding#java

Share

Previous Article
(자바 기초) 중첩 if와 else if 구문 완벽 이해하기 - 계층적 조건 처리의 모든 것

Table Of Contents

1
switch 문의 기본 구조와 사용법
2
switch 문의 다양한 활용 예제
3
자바 12+의 향상된 switch 기능

Related Posts

(Java 예외 처리 마스터하기) 다중 catch와 예외 흐름 제어의 모든 것 - 코딩하는곰의 20년 노하우
December 16, 2025
3 min