25.0 switch 분기문으로 다양한 조건 처리하기

지금까지 if 조건문과 조건식에 사용할 수 있는 연산자들을 알아보았습니다. 이번에는 switch 분기문으로 다양한 조건을 처리하는 방법을 알아보겠습니다.

if는 조건식이 참이거나 거짓일 때 두 가지만 처리할 수 있었습니다. else if를 사용하면 여러 조건을 처리할 수 있지만 매번 조건식을 지정해줘야 해서 다소 번거롭습니다. switch 분기문은 조건이 많아도 손쉽게 처리할 수 있습니다.

그림 25‑1 switch 분기문의 기본 형태
25-1

switch 분기문은 항상 case와 함께 사용하는데 변수의 값이 case에 지정한 값과 일치하면 해당 코드를 실행하게 됩니다(단, case에는 조건식이나 변수를 지정할 수 없습니다). 그리고 아무 case에도 해당되지 않으면 default의 코드를 실행합니다(default는 생략할 수 있습니다).

앞에서 else if를 배울 때 음료수 자판기를 예로 들었죠? switchcase로 음료수 자판기를 만들면 다음과 같은 모양이 됩니다.

switch (버튼)
{
case 1:    // 콜라 버튼
    콜라를 내보냄
    break;
case 2:    // 사이다 버튼
    사이다를 내보냄
    break;
case 3:    // 환타 버튼
    환타를 내보냄
    break;
default: 
    제공하지 않는 메뉴
    break;
}

이처럼 switch 분기문은 형식이 균일하며 처리해야 할 조건이 많을 때 사용합니다(정수형=음료수 캔, 각 숫자=음료수 종류).