별 개수: 50
속도: 2

JavaScript

웹 개발의 필수 언어

동적인 웹 페이지 구현을 위한 핵심 프로그래밍 언어.

Java

객체지향 프로그래밍

안정적이고 확장성 있는 백엔드 개발의 대표 언어.

HTML

웹의 기초

웹 페이지의 구조를 정의하는 마크업 언어.

React

현대적 UI 라이브러리

효율적인 사용자 인터페이스 구축을 위한 JavaScript 라이브러리.

CSS

웹 디자인의 핵심

웹 페이지의 시각적 표현을 담당하는 스타일 언어.

Spring

자바 웹 프레임워크

기업급 애플리케이션 개발을 위한 강력한 프레임워크.

JavaScript

웹 개발의 필수 언어

동적인 웹 페이지 구현을 위한 핵심 프로그래밍 언어.

Java

객체지향 프로그래밍

안정적이고 확장성 있는 백엔드 개발의 대표 언어.

HTML

웹의 기초

웹 페이지의 구조를 정의하는 마크업 언어.

React

현대적 UI 라이브러리

효율적인 사용자 인터페이스 구축을 위한 JavaScript 라이브러리.

CSS

웹 디자인의 핵심

웹 페이지의 시각적 표현을 담당하는 스타일 언어.

Spring

자바 웹 프레임워크

기업급 애플리케이션 개발을 위한 강력한 프레임워크.

JavaScript

웹 개발의 필수 언어

동적인 웹 페이지 구현을 위한 핵심 프로그래밍 언어.

Java

객체지향 프로그래밍

안정적이고 확장성 있는 백엔드 개발의 대표 언어.

HTML

웹의 기초

웹 페이지의 구조를 정의하는 마크업 언어.

React

현대적 UI 라이브러리

효율적인 사용자 인터페이스 구축을 위한 JavaScript 라이브러리.

CSS

웹 디자인의 핵심

웹 페이지의 시각적 표현을 담당하는 스타일 언어.

Spring

자바 웹 프레임워크

기업급 애플리케이션 개발을 위한 강력한 프레임워크.

Java/자바 학습

break와 continue 상세 설명

lamarcK 2025. 5. 18. 13:54

I. 기본 이해

break와 continue는 제어문에만 사용되는 개념이다.

제어문이라는 것은 for 루프, while 루프, do-while 루프, switch 문 같은 것을 의미한다.

1. 정의

  • break: 현재 실행 중인 반복문이나 switch문을 즉시 종료
  • continue: 현재 반복을 건너뛰고 다음 반복으로 진행

2. 비유

  • break: 영화관에서 영화가 마음에 들지 않아 중간에 퇴장
  • continue: TV 채널에서 광고가 나오면 다음 내용으로 건너뛰기

3. 작동방식

  • break: 제어문의 블록을 완전히 벗어남
  • continue: 현재 반복만 중단하고 다음 반복 조건 검사로 이동

II. 존재 이유와 목적

제어문을 사용하는 중에 특정 조건의 동작을 컨트롤 하고 싶을 경우 사용한다. 사실 if문만으로도 모든 제어가 가능하지만 break와 continue를 사용하면 코드를 더 간결하고 가독성 있게 만들 수 있다.

1. break

  • 불필요한 반복 방지
  • 조건 충족 시 즉시 종료 필요
  • 리소스 효율성 향상

2. continue

  • 특정 조건의 처리 건너뛰기
  • 코드 가독성 향상
  • 불필요한 중첩 조건문 방지

III. 핵심 구성요소

1. break

  • 단독 break
  • 레이블이 있는 break
  • switch문에서의 break
  • 반복문에서의 break

2. continue

  • 단독 continue
  • 레이블이 있는 continue
  • 반복문 내부에서만 사용 가능

IV. 주의사항과 일반적 오류

1. 초보자 실수

  • break와 continue 혼동
  • 잘못된 위치에서 사용
  • 무한 루프 발생
  • 레이블 잘못 사용

2. 디버깅 포인트

  • 실행 흐름 추적
  • 반복문 종료 조건 확인
  • 변수값 변화 관찰

V. 비교 분석

구분 break continue
동작 반복문 종료 현재 반복만 스킵
사용범위 반복문, switch 반복문만
실행흐름 블록 외부로 이동 다음 반복으로 이동
주용도 조건 충족시 종료 특정 조건 건너뛰기

VI. 실무 활용

1. 적용 사례

  1. 검색 알고리즘
  2. 데이터 필터링
  3. 예외 상황 처리
  4. 사용자 입력 처리
java
클릭하여 코드 펼치기
public class BreakContinueExample {
    public static void main(String[] args) {
        // 1. 기본 break와 continue
        System.out.println("1. 기본 break와 continue");
        for(int i = 0; i < 5; i++) {
            if(i == 2) continue; // 2일 때 건너뛰기
            if(i == 4) break;    // 4일 때 반복문 종료
            System.out.println("i = " + i);
        }

        // 2. 중첩 반복문에서의 break와 continue
        System.out.println("\n2. 중첩 반복문");
        for(int i = 0; i < 3; i++) {
            for(int j = 0; j < 3; j++) {
                if(j == 1) continue; // j가 1일 때 건너뛰기
                if(i == 2) break;    // i가 2일 때 내부 반복문 종료
                System.out.println("i = " + i + ", j = " + j);
            }
        }

        // 3. 레이블을 사용한 break와 continue
        System.out.println("\n3. 레이블 사용");
        outer: for(int i = 0; i < 3; i++) {
            for(int j = 0; j < 3; j++) {
                if(i == 1 && j == 1) {
                    break outer;    // 외부 반복문까지 완전히 종료
                }
                System.out.println("i = " + i + ", j = " + j);
            }
        }

        // 4. while문에서의 break와 continue
        System.out.println("\n4. while문");
        int k = 0;
        while(k < 5) {
            k++;
            if(k == 2) continue; // 2일 때 건너뛰기
            if(k == 4) break;    // 4일 때 반복문 종료
            System.out.println("k = " + k);
        }
    }
}
클릭하여 코드 복사

 

실행 결과
java
클릭하여 코드 펼치기
1. 기본 breakcontinue
i = 0
i = 1
i = 3

2. 중첩 반복문
i = 0, j = 0
i = 0, j = 2
i = 1, j = 0
i = 1, j = 2

3. 레이블 사용
i = 0, j = 0
i = 0, j = 1
i = 0, j = 2
i = 1, j = 0

4. while문
k = 1
k = 3
클릭하여 코드 복사

2. 베스트 프랙티스

  1. 가능하면 단순한 흐름 유지
  2. 레이블 사용 최소화
  3. 명확한 종료 조건 설정
  4. 적절한 주석 처리
  5. 가독성 있는 코드 구조 유지

3. 이전 개념

  • 반복문 (for, while)
  • 조건문 (if, switch)
  • 제어 흐름

4. 후속 개념

  • 메소드
  • 예외 처리
  • 객체지향 프로그래밍

이동