[Flutter/Dart] switch 조건문 사용하기

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 문을 활용하여 깔끔하고 효율적인 코드를 작성해보세요! 😊