더북(TheBook)

정답

switch(month) {
    case 12 : case 1 : case 2 :
        season = "겨울";
    break;
    case 3 : case 4 : case 5 :
        season = "봄";
    break;
    case 6 : case 7 : case 8 :
        season = "여름";
    break;
    case 9 : case 10 : case 11 :
        season = "가을";
    break;
}

 

해설

이 예제에서 판단해야 할 변수는 month입니다. 따라서 switch 문 괄호에는 month를 넣어줍니다.

12~2월까지는 season = "겨울" 문장을 실행하면 됩니다. 구현할 때,

case 12 : season = "겨울" break; 
case 1 : season = "겨울" break;
case 2 : season = "겨울" break;

 

이렇게 구현할 수도 있지만 이렇게 구현하면 season = "겨울" break;라는 문장을 똑같이 세 번 넣어야 합니다. 같은 코드가 중복되면 해당 코드를 수정할 때 중복 코드를 모두 수정해야 하므로 바람직하지 않습니다.

 

switch 문을 요약하면, 입력된 값이 어떤 case에 해당하는지 찾고 그 case부터 switch 문이 끝날 때까지 실행합니다. 단, break를 만나면 switch 문을 빠져나옵니다.

 

즉, case 문 다음에 break가 없다면 문제의 코드를 계속 수행할 것이므로 다음과 같이 써도 똑같이 수행합니다.

case 12 : case 1 : case 2 :
    season = "겨울";
    break;

 

이처럼 같은 동작을 하는 여러 case를 묶어서 한 번에 처리하고, 그 뒤에 break를 한 번만 적어주면 더 편리하게 switch 문을 이용할 수 있습니다. season에 값을 넣어줄 때는 대입 연산자 ‘=’을 사용하고 문자열의 경우 ""(쌍따옴표)를 필수로 사용해야 함을 잊지 마세요.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.