더북(TheBook)

여기서 잠깐 생각해 볼 것이 있습니다. 여러분 중 else if (score >= 80 && score < 90) 스타일로 코딩한 경우가 있을 것입니다. 그러나 이렇게 코딩할 경우엔 오히려 컴퓨터 연산의 횟수가 증가하여 결국엔 프로그래밍 수행 시간이 늘어나는 결과가 발생합니다. 왜 그럴까요?

입력된 점수가 88점이라고 가정해 봅시다. 우선 첫 번째 조건문에서 ‘90점 이상인지’를 체크할 것이고 참이 아니므로, 두 번째 조건문에서 ‘80점 이상인지’를 체크할 것입니다. 여기서 두 번째 조건문을 검사한다는 것은 입력된 값이 90점 미만이므로 두 번째 조건문을 수행하는 것입니다. 그러므로 두 번째 조건문에서는 ‘90점 미만인지’를 굳이 체크할 필요가 없습니다. 물론 세 번째 네 번째 조건문에서도 같은 이치로 조건식을 작성해야 합니다.

else if (score >= 80) 형태로 코드를 작성하든, else if (score >= 80 && score < 90) 형태로 작성하든 수행 결과는 정상적으로 나올 것입니다. 그러나 두 번째 방식으로 코드를 작성하는 것은 score >= 80을 검사하고 score < 90까지 한 번 더 검사하고, 두 결과에 대해서 && 연산까지 수행합니다. 이것은 의미 없는 연산을 수행하는 꼴이므로 결국 프로그램의 수행 시간이 늘어나게 되는 원인이 됩니다.

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