네, switch 문을 default로 마무리하는 것은 좋은 코딩 습관입니다. 특별한 이유가 없다면 항상 default 케이스를 포함하여 switch 문을 종료하는 것이 바람직합니다.
default 케이스를 사용해야 하는 이유
default 케이스는 명시적으로 정의된 case 값 외에 예상하지 못한 값이 전달되었을 때 이를 안전하게 처리해 줍니다. 이렇게 하면 다음과 같은 장점이 있습니다.
- 코드 안정성 향상: 유효 범위를 벗어난 값이 들어와도 프로그램이 비정상적으로 동작하지 않습니다.
- 디버깅 용이: 알 수 없는 값이 발견되면 로그를 남기거나 오류 메시지를 출력하여 문제 추적이 쉬워집니다.
- 유지보수 대비: 나중에 새로운 값이 추가되더라도 의도하지 않은 동작을 방지할 수 있습니다.
예제
다음은 JavaScript에서 default를 포함한 switch 문의 예제입니다.
<html>
<body>
<script>
<!--
var grade='A';
document.write("switch 블록 시작<br />");
switch (grade) {
case 'A': document.write("잘했습니다<br />");
break;
case 'B': document.write("꽤 좋습니다<br />");
break;
case 'C': document.write("통과<br />");
break;
case 'D': document.write("좋지 않습니다<br />");
break;
case 'F': document.write("낙제<br />");
break;
default: document.write("알 수 없는 등급<br />")
}
document.write("switch 블록 종료");
//-->
</script>
</body>
</html>
실행 결과
변수 grade의 값이 'A'이므로 위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
switch 블록 시작
잘했습니다
switch 블록 종료
만약 grade 값이 'A'부터 'F' 사이의 어떤 case에도 해당하지 않으면, default 케이스가 실행되어 "알 수 없는 등급"이라는 메시지가 출력됩니다. 이처럼 default는 예외적인 상황을 처리하는 안전장치 역할을 하므로, switch 문 작성 시 반드시 포함하는 것이 좋습니다.