반복문의 흐름을 제어하는 키워드로 break
, return
, continue
가 있는데,
사용 빈도가 높지 않더라도 각각의 차이점이 헷갈려서 이를 정리해보려고 한다.
해당 키워드가 속해있는 블록(반복문)을 탈출하는 키워드
for
, while
, do ~while
의 블록 내에서만 사용할 수 있다. switch
에서는 다른 맥락으로 쓰인다.남아있는 수행문을 실행하지 않고 다음 반복을 실행하는 키워드
증감식
으로, while문, do~while문에서는 조건식
으로 이동해서 다음 번 반복 차례를 수행하게 한다.break는 반복문을 탈출하는 반면, continue문은 반복문 전체를 벗어나지 않고 다음 반복을 계속 수행한다.
✔ break문은 정해진 목표를 달성해서 더 이상 반복을 수행할 필요가 없을 때 사용한다.
✔ continue문은 전체 반복 중에 특정조건을 만족하는 경우를 제외하고자 할 때 사용한다.
속해 있는 메소드 자체를 실행 중단시키는 키워드. '빠른 종료'
반환값
;break, continue와 같은 키워드는 프로그램의 흐름을 확 건너뛰게 하기 때문에, 업무에서는 아주 즐겨쓰는 키워드는 아니라고 한다.
실제 소스코드들을 보아도 어떤 한 조건식의 T/F에 대해 break, continue로 흐름을 제어하기보다는 각각의 경우를 if로 묶어준다.
그럼에도 break와 continue 중 무엇을 사용할지 비교한다면,
상황마다 다르겠지만 continue는 다시 반복문의 처음으로 돌아가는 수행을 하기 때문에 break이 더 효율적인 경우도 있음을 고려해야 한다.