프로그래밍에서 코드는 기본적으로 위에서 아래로 한 줄씩 순차적으로 실행됩니다. 그러나 실제 개발 과정에서는 특정 조건에 따라 이러한 실행 흐름을 변경해야 하는 경우가 자주 발생합니다. 자바(Java)를 비롯한 대부분의 프로그래밍 언어는 이를 위해 break와 continue라는 두 가지 제어문을 제공하며, 이들은 주로 반복문 안에서 특정 코드의 실행을 건너뛰거나 중단하는 데 사용됩니다.
그렇다면 이 두 문장은 어떤 점에서 다를까요? 아래 표에서 주요 차이점을 확인해 보겠습니다.
| 번호 | 구분 | break 문 | continue 문 |
|---|---|---|---|
| 1 | 기능 | break 문은 while, do-while, for 반복문 또는 switch 문처럼 해당 문을 감싸고 있는 블록을 즉시 종료시키는 데 사용됩니다. | continue 문은 continue가 선언된 지점 이후의 나머지 루프 코드를 건너뛰고 곧바로 다음 반복(Iteration)을 실행합니다. |
| 2 | 실행 흐름 | break 문은 프로그램의 제어를 루프의 끝으로 옮기며, 실행 흐름이 해당 루프의 외부로 완전히 빠져나갑니다. | continue 문은 프로그램의 제어를 continue를 감싸고 있는 루프의 다음 반복으로 넘기며, 실행 흐름이 다시 루프 내부에서 계속됩니다. |
| 3 | 사용 목적 | 앞서 설명했듯이 break는 감싸고 있는 루프 전체를 종료하는 목적으로 사용됩니다. | 반면 continue는 감싸고 있는 루프의 다음 반복을 조기에 실행하도록 만드는 역할을 합니다. |
| 4 | 호환성 | break 문은 'switch' 문 및 'label(레이블)'과 함께 사용할 수 있으며 호환됩니다. | continue 문은 'switch' 문이나 'label'과 함께 사용할 수 없습니다. |
Continue vs Break 예제
아래 예제를 통해 두 문장의 동작 방식을 직접 비교해 보겠습니다.
JavaTester.java
public class JavaTester{
public static void main(String args[]){
// break 문 예시: i 값이 4가 되면 실행이 중단됩니다.
System.out.println("Break Statement\n");
for(int i=1;i<=5;i++){
if(i==4) break;
System.out.println(i);
}
// continue 문 예시: i 값이 1일 때 실행이 건너뛰어집니다.
System.out.println("Continue Statement\n");
for(int i=1;i<=5;i++){
if(i==1) continue;
System.out.println(i);
}
}
}실행 결과
Break Statement 1 2 3 Continue Statement 2 3 4 5
위 출력 결과를 보면, break 문을 사용한 첫 번째 반복문은 i가 4가 되는 순간 루프 자체가 종료되어 1부터 3까지만 출력됩니다. 반면 continue 문을 사용한 두 번째 반복문은 i가 1일 때 해당 반복만 건너뛰고 2부터 5까지 모두 정상적으로 출력되는 것을 확인할 수 있습니다.
정리
핵심을 요약하면, break는 반복문 자체를 완전히 종료시키고, continue는 현재 반복만 건너뛴 후 다음 반복을 계속 진행합니다. 따라서 더 이상 반복을 진행할 필요가 없을 때는 break를, 특정 조건에서만 처리를 생략하고 나머지는 계속 수행하고 싶을 때는 continue를 사용하는 것이 적절합니다. 두 문장의 차이를 명확히 이해하면 반복문 로직을 훨씬 유연하게 작성할 수 있습니다.