연산자 중에서도 if 문과 switch 문을 알아보자.
두 구문다 각각의 장점이 있으니 때에 따라 적절히 사용한다면 보다 높은 가독성을 갖는 코드가 될 수 있다.
- switch 문 : 단일 변수의 값에 따라 2가지 이상의 상황이 나왔을 때 사용하면 편리하다.
- if-else 문 : 위 상황을 제외한 거의 모든 상황에서 사용한다.
위 설명과 같이 두 구문은 조건문으로서 유사한 역할을 수행해낸다.
좀 더 자세히 이야기하자면, 모든 switch 구문은 if-else 구문으로 표현될 수 있고 if-else 구문이 switch 구문으로 표현될 수 도 있다. (모두 되는 것은 아니다.)
x의 값이 10 이라면?
" this is 10" 을 출력x의 값이 20 이거나 30 이라면?
" this is 20 or 30" 을 출력x의 값이 위의 셋 중 하나도 아니라면?
"this is default" 을 출력
위 상황을 if-else문 과 switch문으로 각각 표현하면 아래와 같다.
// if-else 구문
if (x == 10){
cout << "this is 10 \n";
}
else if (x == 20 || x == 30)
{
cout << "this is 20 or 30 \n";
}
else{
cout << "this is default \n";
}
// switch case 구문
switch (x)
{
case 10:
cout << "this is 10 \n";
break;
case 20:
case 30:
cout << "this is 20 or 30 \n";
break;
default:
cout << "this is default \n";
break;
}
사실 모든 경우를 if - else 문 으로 해결 할 수 있지만 switch 문 만의 강력한 파워가 있다는 점을 간과해서는 안된다고 생각한다.
오류나 질문에 대한 문의 댓글 혹은 메일 주시면 감사하겠습니다. !