조건문은 프로그램이 특정 조건을 만족할 때만 실행되도록 제어하는 기능을 합니다.
Dart에서는 if-else
문과 switch
문을 사용하여 조건을 처리할 수 있습니다.
각각의 조건문을 언제 사용해야 하는지와 차이점을 알아봅시다.
사용 시점
기본 구조
if (조건1) {
// 조건1이 참일 때 실행
} else if (조건2) {
// 조건2가 참일 때 실행
} else {
// 위 조건들이 모두 거짓일 때 실행
}
예제 : 사용자의 나이에 따라 권한을 설정하기
void main() {
int age = 20;
if (age >= 18) {
print("성인입니다. 모든 콘텐츠를 볼 수 있습니다.");
} else if (age >= 13) {
print("청소년입니다. 일부 콘텐츠에 제한이 있습니다.");
} else {
print("어린이입니다. 어린이 전용 콘텐츠만 볼 수 있습니다.");
}
}
사용 시점
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 | switch |
---|---|---|
사용 시점 | 조건이 범위를 가지거나 복잡한 연산이 필요할 때 | 비교할 값이 고정된 경우 (특정 숫자, 문자열 등) |
데이터 타입 | int , double , String , bool 등 다양한 타입 사용 가능 |
int , String , enum 같은 고정된 값만 비교 가능 |
가독성 | 여러 개의 else if 가 있으면 코드가 길어질 수 있음 |
case 를 사용하여 코드가 깔끔해짐 |
실행 속도 | 논리 연산이 많으면 속도가 느려질 수 있음 | 일반적으로 switch 문이 최적화되어 더 빠름 |
사용 예시 | 나이, 점수 비교 등 범위 조건을 다룰 때 | 요일, 메뉴 선택 등 고정된 값을 다룰 때 |
1️⃣ if-else 문을 사용하여 점수에 따른 학점 부여 프로그램을 작성하세요.
"A 학점"
"B 학점"
"C 학점"