728x90
C# 스위치 문 vs if 문: 상황별 비교
C#에서 스위치 문(switch statement)과 if 문(if statement)은 조건문으로, 각각의 장단점이 있습니다. 이 포스팅에서는 상황별로 어떤 조건문이 더 적합한지 알아보겠습니다. 😊
1. 스위치 문의 특징
스위치 문은 단일 변수나 표현식의 값을 여러 상수 값과 비교하여 일치하는 경우에만 특정 코드 블록을 실행합니다.
- 장점: 가독성이 높고, 컴파일러 최적화로 성능이 약간 더 나을 수 있음.
- 단점: 범위나 복잡한 조건 처리 불가.
public string GetDayName(int dayNumber)
{
switch (dayNumber)
{
case 1:
return "Sunday";
case 2:
return "Monday";
default:
return "Invalid day";
}
}
위 예시는 요일 숫자를 받아 이름을 반환하는 코드로, 스위치 문이 간결하고 명확합니다.
728x90
2. if 문의 특징
if 文은 조건이 참인지 거짓인지에 따라 코드 블록을 실행하며, 복잡한 조건이나 범위에 적합합니다.
- 장점: 범위, 복잡한 조건, 여러 변수 처리 가능.
- 단점: 경우가 많아지면 코드가 길어지고 가독성이 떨어질 수 있음.
public string CheckAge(int age)
{
if (age < 18)
return "Minor";
else if (age >= 18 && age < 65)
return "Adult";
else
return "Senior";
}
나이 범위를 처리하는 위 예시는 if 문이 적합합니다.
3. 상황별 비교
상황 | 스위치 문 | if 문 |
---|---|---|
단일 변수의 여러 값 비교 | 적합 (예: 요일) | 가능하지만 가독성 떨어짐 |
범위 비교 | 불가능 | 적합 (예: 나이 범위) |
복잡한 조건 | 불가능 | 적합 (예: 여러 변수) |
성능 | 약간 더 빠를 수 있음 | 차이 미미 |
4. 결론
스위치 문은 단일 변수의 여러 값을 비교할 때 적합하고, if 문은 범위나 복잡한 조건에 유리합니다. 코드의 요구사항과 가독성을 고려하여 선택하세요!
728x90