Dart 프로그래밍 언어에서 switch 문은 여러 경우(case) 중 하나를 선택하여 실행하는 제어 구조입니다. if-else 문보다 가독성이 좋고, 코드의 구조를 명확하게 만들 수 있어 자주 사용됩니다.
이번 포스팅에서는 Dart에서 switch 문을 사용하는 방법과 실전 예제를 살펴보겠습니다.
1. Dart에서 switch 문 기본 문법
Dart의 switch 문은 다음과 같은 형식으로 작성됩니다.
void main() {
var number = 2;
switch (number) {
case 1:
print('숫자는 1입니다.');
break;
case 2:
print('숫자는 2입니다.');
break;
case 3:
print('숫자는 3입니다.');
break;
default:
print('알 수 없는 숫자입니다.');
}
}
문법 설명
- switch (변수) : 평가할 변수를 지정합니다.
- case 값: : 비교할 값과 일치하는 경우 실행할 코드 블록을 정의합니다.
- break; : 해당 case 블록이 실행된 후 switch 문을 종료합니다.
- default: : 어떤 case 에도 해당되지 않을 때 실행할 코드 블록입니다.
⛔ 주의: Dart에서는 case 문 내에서 break 를 반드시 사용해야 합니다. 그렇지 않으면 컴파일 오류가 발생합니다.
2. switch 문에서 여러 case 묶어서 사용하기
여러 개의 case를 하나로 묶어서 사용할 수도 있습니다.
void main() {
var fruit = 'apple';
switch (fruit) {
case 'apple':
case 'banana':
case 'mango':
print('이것은 과일입니다.');
break;
default:
print('알 수 없는 항목입니다.');
}
}
위 코드에서는 'apple', 'banana', 'mango'가 동일한 처리를 하도록 구성되었습니다. 실행결과는 다음과 같습니다.
이것은 과일입니다.
3. switch 문에서 enum 사용하기
Dart의 enum(열거형)과 함께 switch 문을 사용하면 가독성이 더 좋아집니다.
enum Weather { sunny, rainy, cloudy }
void main() {
var today = Weather.sunny;
switch (today) {
case Weather.sunny:
print('오늘은 맑은 날씨입니다.');
break;
case Weather.rainy:
print('오늘은 비가 옵니다.');
break;
case Weather.cloudy:
print('오늘은 흐린 날씨입니다.');
break;
}
}
실행결과는 다음과 같습니다.
오늘은 맑은 날씨입니다.
enum을 사용하면?
- 코드의 가독성이 향상됩니다.
- 예측 가능한 값만 switch 문에서 처리할 수 있어 안정성이 증가합니다.
4. switch 문에서 null safety 처리하기
Dart는 null safety를 지원하기 때문에 switch 문에서 null 값을 체크하려면 default 문을 활용해야 합니다.
void main() {
String? status;
switch (status) {
case 'success':
print('성공했습니다.');
break;
case 'error':
print('오류가 발생했습니다.');
break;
default:
print('알 수 없는 상태입니다.');
}
}
실행결과는 다음과 같습니다.
알 수 없는 상태입니다.
5. 결론
Dart의 switch 문은 다중 조건을 처리할 때 유용하며, if-else 문보다 더 깔끔한 코드를 작성할 수 있습니다. enum과 함께 사용하면 더욱 효과적으로 활용할 수 있습니다.
✅ 핵심 정리
- switch 문은 if-else 보다 가독성이 좋은 다중 조건 분기문이다.
- break 문을 반드시 사용해야 한다.
- 여러 case를 하나로 묶을 수 있다.
- enum과 함께 사용하면 코드 가독성이 향상된다.
- null safety를 고려하여 default 구문을 활용하는 것이 좋다.
Dart에서 switch 문을 활용하여 깔끔하고 효율적인 코드를 작성해보세요! 😊