switch가 어울리는 경우
같은 기준값을 여러 상수와 비교할 때 구조가 단순해집니다. 메뉴 번호, 명령 코드, enum 상태처럼 값 목록이 분명할수록 효과적입니다.
두 문법은 모두 여러 갈래의 흐름을 만들 수 있습니다. 차이는 조건의
모양입니다. 하나의 값이 고정 상수 중 무엇인지 묻는다면
switch가 읽기 쉽고, 범위나 논리 조합이 필요하면
if-else가 더 적합합니다.
switch가 어울리는 경우같은 기준값을 여러 상수와 비교할 때 구조가 단순해집니다. 메뉴 번호, 명령 코드, enum 상태처럼 값 목록이 분명할수록 효과적입니다.
if-else가 어울리는 경우
범위 비교, 문자열 비교, 여러 변수의 논리 조합은 조건식을 직접 쓸 수
있는 if-else가 더 명확합니다.
choice == 1, choice == 2처럼 같은 변수의 값 목록을 비교합니다.switch 선택score >= 90, score >= 80처럼 범위를 비교합니다.if-else 선택Command::Save, Command::Open 같은 enum 후보를 비교합니다.switch 선택하나의 정수 계열 값 또는 enum 값인가?
각 후보가 컴파일 시간 상수식인가?
각 분기 끝에서 의도대로 빠져나오는가?
예상 밖의 값을 처리하거나 의도적으로 무시하는가?