조건 | if-else 문 | switch 문 |
---|---|---|
조건의 개수 | 적을수록 효율적 | 많을수록 효율적 |
비교 방식 | 복잡한 조건 사용 가능 | 단순한 값 비교만 가능 |
컴파일러 최적화 | 순차적 검사로 최적화 가능 (O(n)) | Jump Table 또는 이진 탐색으로 최적화 (O(1) 또는 O(log n)) |
가독성 | 조건식이 복잡하면 가독성이 떨어질 수 있음 | 분기 처리가 깔끔하게 분리됨 |
if-else 추천 사례:
if (x > 10 && x < 50) {
// 조건이 복잡한 경우
} else if (x == 75 || x == 90) {
// 또 다른 조건
} else {
// 기본 처리
}
switch 추천 사례:
switch (x) {
case 10:
// 특정 값 처리
break;
case 20:
// 또 다른 값 처리
break;
default:
// 기본 처리
}