[Java] outer: 라벨

gyeol·2025년 7월 15일
0

자바

목록 보기
14/23
post-thumbnail

outer: 란?

반복문 블록에 이름을 붙이는 기능이다.
이 라벨을 활용해 중첩된 반복문 안에서 특정 시점에 한 번에 바깥 루프까지 탈출할 수 있도록 한다.

라벨이름:
for (조건1) {
    for (조건2) {
        if (조건) {
            break 라벨이름;  // 바깥 루프까지 탈출
        }
    }
}

중첩 반복문에서는 break를 쓰면 안쪽 반복문만 종료된다.
하지만 특정 조건을 만나면 모든 반복을 끝내가 바깥까지 빠져냐가야 할 때가 있다.
이럴 때 break만으로는 부족하고 break 라벨명이 효과적이다.

비교

for (int i = 0; i < 3; i++) {
    for (int j = 0; j < 3; j++) {
        if (j == 1) break;
        System.out.println("i=" + i + ", j=" + j);
    }
}

출력은

i=0, j=0
i=1, j=0
i=2, j=0

다음과 같이 이뤄진다.

이때 break outer; 만 사용해 한 번에 탈출할 수 있다.

outer:
for (int i = 0; i < 3; i++) {
    for (int j = 0; j < 3; j++) {
        if (j == 1) break outer;
        System.out.println("i=" + i + ", j=" + j);
    }
}

그럼 출력은 i=0, j=0으로 i 루프까지 한 번에 탈출할 수 있다.

참고

  • 라벨 이름은 자유롭게 정할 수 있음 (outer, loop, exitPoint 등)

  • break 라벨명; 뿐만 아니라 continue 라벨명; 도 지원함

  • 꼭 중첩 루프가 있을 때만 의미 있음. 단일 루프에서는 의미 없음.

profile
공부 기록 공간 '◡'

0개의 댓글