Search
🕹️

조건문

조건문은 프로그램이 특정 조건을 만족할 때만 실행되도록 제어하는 기능을 합니다.
Dart에서는 if-elseswitch을 사용하여 조건을 처리할 수 있습니다.
각각의 조건문을 언제 사용해야 하는지차이점을 알아봅시다.

if-else 문

사용 시점
조건이 복잡하거나 여러 개의 조건을 비교해야 할 때
숫자, 문자열, 불리언 등 다양한 데이터 타입을 조건으로 사용할 때
기본 구조
if (조건1) { // 조건1이 참일 때 실행 } else if (조건2) { // 조건2가 참일 때 실행 } else { // 위 조건들이 모두 거짓일 때 실행 }
Dart
복사
예제 : 사용자의 나이에 따라 권한을 설정하기
void main() { int age = 20; if (age >= 18) { print("성인입니다. 모든 콘텐츠를 볼 수 있습니다."); } else if (age >= 13) { print("청소년입니다. 일부 콘텐츠에 제한이 있습니다."); } else { print("어린이입니다. 어린이 전용 콘텐츠만 볼 수 있습니다."); } }
Dart
복사

switch 문

사용 시점
조건이 많지만 비교할 값이 고정된 경우 (예: 특정 숫자, 문자열)
if-else 문을 사용하면 너무 길어질 경우 가독성을 높이기 위해 사용
기본 구조
switch () { case 조건1: // 조건1이 참일 때 실행 break; case 조건2: // 조건2가 참일 때 실행 break; default: // 위 조건들이 모두 거짓일 때 실행 }
Dart
복사
예제 : 요일에 따라 메시지 출력하기
void main() { String day = "월요일"; switch (day) { case "월요일": print("한 주가 시작되었습니다! 힘내세요."); break; case "금요일": print("주말이 다가오고 있습니다!"); break; case "토요일": case "일요일": print("즐거운 주말 보내세요!"); break; default: print("일상적인 하루입니다."); } }
Dart
복사

if-else vs switch 비교

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

과제

if-else 문을 사용하여 점수에 따른 학점 부여 프로그램을 작성하세요.
90점 이상 → "A 학점"
80점 이상 → "B 학점"
70점 이상 → "C 학점"
60점 이상 → "D 학점"
60점 미만 → "F 학점"
힌트
switch 문을 사용하여 사용자가 입력한 요일에 따른 메시지를 출력하는 프로그램을 작성하세요.
"월요일""한 주의 시작! 힘내세요!"
"금요일""주말이 곧 옵니다!"
"토요일", "일요일""즐거운 주말 보내세요!"
그 외 → "평범한 하루입니다."
힌트

제출하기

요구사항을 모두 충족한 코드를 아래 링크로 제출해주세요!