최근에 if - else if 구문을 활용했기 때문에 의도한대로 로직이 흘러가지 않은 바가 있었다.
나같은 아직 초보자에게 이 미묘한 차이점이 도움이 됐으면 좋겠다.
1. if - if
if 구문에 대한 이론적인 설명은 하지 않아도 알 것이라고 믿는다.
따라서, if - if 구문은 어떻게 사용하는지 아는 것이 중요하다고 생각한다.
if - if 구문은 내가 본 바로는 바로 값을 검증하는 로직에서 필수적으로 사용한다.
특정한 input 값이 적합한지, 아니면 1부터 10까지 있는 모든 검증사항을 확인해야 한다든지.
이렇게 다수의 경우의 수 중에서 하나가 아니라
경우의 수 모두를 체크하고 넘어가야 하는 시점에서
if - if 구문을 활용한다.
즉,
모든 값 검증 (체크리스트)에 if - if 구문을 활용한다.
솔직히 그 외에는 if - if를 연달아 쓸 이유가 없다고 본다.
2. if - else if
if - else if는 if - if 구문과는 완벽하게 사용목적이 다르다.
if - if 구문이 모든 값 검증이라는 것에 초점을 두었다면,
if - else if 구문은 여러 개의 값 중 단 하나만 찾는 것을 목적으로 한다.
SQL의 집계 함수를 공부했다면 쉽게 연관지어서 생각할 수 있다.
집계 함수가 여러 데이터를 하나의 그룹으로 묶고, 그 그룹 단위로 단 하나의 결과값을 도출하는 것을 목적으로 한다.
if - else if 구문도 여러 경우의 수를 하나의 그룹으로 묶고, 그 그룹 단위로 단 한의 로직만 실행하는 것을 목적으로 한다.
즉, 애당초 이 로직은 검증 같이 꼼꼼하고 철저한 분야에서 활용하는 것이 아니다.
수없이 많은 경우의 수에서, 내가 원하는 단!! 하나만!! 효율적으로 실행하고자 할 때 사용하는 구문이다.
즉,
선택권이 사용자에게 있을 때, if - else if 구문을 활용한다.
사용자의 선택에 따라서 원하는 것만 보여주는 것이다.
정말 단순하지만, 솔직히 여태까지 그 두 개가 무슨 차이가 있는지 생각하지도, 있는지도 몰랐다.
막상 검증에서 사용하니 로직이 죄다 통과되어 당황해서 고친 기억이 난다...
각각의 구문에는 현업에서 사용하는 방식이 있다.
사소한 차이지만, 그곳이 활용되는 장소는 지옥과 천국의 차이일수도 있다.
섬세함과 꼼꼼함이 실력을 가른다...