• 참고
    • 블로그: https://devmoony.tistory.com/121
  • if/else 와 switch 작동 차이
    • if/else는 원하는 조건이 나올 때 까지 순차적으로 모든 경우를 비교 → branch statement 기반
    • switch는 jump-table을 사용해 한번에 원하는 곳으로 이동 → jump statement 기반
  • if/else와 switch 성능 차이
    • if/else
      • branch하는 지 판단
      • 실행을 할건지 말건지 판단
      • 점프 테이블을 만드는데 걸리는 시간적 오버는 없으나, branch의 유무를 판단하기 위한 지침이 지속적으로 필요
      • 조건의 수가 작을수록 유리
    • switch
      • jump할 위치 찾기
      • 어떤 코드를 실행할 것인지 판단
      • 조건에 만족하는지 만족하지 않는지에 대한 판단이 아닌, switch시작 시 입력받은 값을 확인하는 지침만 필요 하지만, 점프테이블을 만드는 시간적 오버(오버헤드)가 존재
      • 조건의 수가 다양하고 많을수록 switch문을 쓰는 것이 유리