switch safety

`switch` 분기 선택 기준

`switch`는 하나의 값이 여러 상수 중 무엇인지 고를 때 읽기 좋지만, `break`와 `default` 규칙을 함께 지켜야 안전합니다.

input

하나의 기준값

정수형, enum, char처럼 하나의 값이 여러 상수 중 하나인지 비교할 때 적합합니다.

case

상수 레이블

각 `case`는 고정된 값이어야 하며 범위 비교나 복잡한 논리는 `if`가 더 자연스럽습니다.

break

분기 종료

각 처리 블록 끝에서 빠져나오지 않으면 다음 `case` 코드까지 이어서 실행됩니다.

default

예외 처리

예상하지 못한 값이 들어왔을 때의 출력, 오류 처리, 무시 정책을 명확히 둡니다.

`switch` 선택
메뉴 번호, 명령 코드, enum 상태처럼 같은 변수의 동등 비교가 많을 때
case, break, default를 세트로 확인
`if` 선택
점수 범위, 문자열 조건, 여러 변수 조합, 논리 연산이 섞인 조건일 때
조건 순서와 경계값 확인
fall-through
여러 case가 같은 코드를 공유할 때만 의도적으로 사용합니다.
C++17 `[[fallthrough]];`로 의도 표시