개발

[개발] 조건문

christin-park97 2025. 3. 3. 18:59
반응형

조건문은 프로그램이 특정 조건을 만족할 때만 실행되도록 제어하는 기능을 합니다.

Dart에서는 if-else 문switch 문을 사용하여 조건을 처리할 수 있습니다.

각각의 조건문을 언제 사용해야 하는지차이점을 알아봅시다.

 

1️⃣ if-else 문

  • 사용 시점
    • 조건이 복잡하거나 여러 개의 조건을 비교해야 할 때
    • 숫자, 문자열, 불리언 등 다양한 데이터 타입을 조건으로 사용할 때
  • 기본 구조

if (조건1) {
  // 조건1이 참일 때 실행
} else if (조건2) {
  // 조건2가 참일 때 실행
} else {
  // 위 조건들이 모두 거짓일 때 실행
}

  • 예제 : 사용자의 나이에 따라 권한을 설정하기

void main() {
  int age = 20;

  if (age >= 18) {
    print("성인입니다. 모든 콘텐츠를 볼 수 있습니다.");
  } else if (age >= 13) {
    print("청소년입니다. 일부 콘텐츠에 제한이 있습니다.");
  } else {
    print("어린이입니다. 어린이 전용 콘텐츠만 볼 수 있습니다.");
  }
}

2️⃣ switch 문

  • 사용 시점
    • 조건이 많지만 비교할 값이 고정된 경우 (예: 특정 숫자, 문자열)
    • if-else 문을 사용하면 너무 길어질 경우 가독성을 높이기 위해 사용
  • 기본 구조

switch (값) {
  case 조건1:
    // 조건1이 참일 때 실행
    break;
  case 조건2:
    // 조건2가 참일 때 실행
    break;
  default:
    // 위 조건들이 모두 거짓일 때 실행
}

 

  • * 예제 : 요일에 따라 메시지 출력하기

void main() {
  String day = "월요일";

  switch (day) {
    case "월요일":
      print("한 주가 시작되었습니다! 힘내세요.");
      break;
    case "금요일":
      print("주말이 다가오고 있습니다!");
      break;
    case "토요일":
    case "일요일":
      print("즐거운 주말 보내세요!");
      break;
    default:
      print("일상적인 하루입니다.");
  }
}

📌 if-else vs switch 비교

비교 항목 if-else switch
사용 시점 조건이 범위를 가지거나 복잡한 연산이 필요할 때 비교할 값이 고정된 경우 (특정 숫자, 문자열 등)
데이터 타입 int, double, String, bool 등 다양한 타입 사용 가능 int, String, enum 같은 고정된 값만 비교 가능
가독성 여러 개의 else if가 있으면 코드가 길어질 수 있음 case를 사용하여 코드가 깔끔해짐
실행 속도 논리 연산이 많으면 속도가 느려질 수 있음 일반적으로 switch 문이 최적화되어 더 빠름
사용 예시 나이, 점수 비교 등 범위 조건을 다룰 때 요일, 메뉴 선택 등 고정된 값을 다룰 때

 

 

반응형

'개발' 카테고리의 다른 글

[개발] 플러터 살피기  (0) 2025.03.05
[개발]변수/반복문/함수/조건문  (0) 2025.03.04
[개발]연산자 이해하기  (0) 2025.02.25
[개발] 변수와 데이터 타입  (0) 2025.02.24
[개발] Dart와 Flutter  (0) 2025.02.21