Menu
Coddy logo textTech

Infinite Loop

Coddy Java 여정의 기초 섹션에 포함된 레슨 — 73개 중 49번째.

무한 루프는 조건이 항상 true로 평가되기 때문에 절대 멈추지 않는 루프입니다. 이러한 루프는 모든 루프 유형(for, while, do-while)에서 발생할 수 있지만, 조건이 명시적으로 명시되어 있기 때문에 whiledo-while 루프와 가장 흔히 연관됩니다.

무한 while 루프의 예제입니다:

while (true) {
    System.out.println("This will print forever!");
}

이 경우, 조건은 단순히 true이며, 이는 항상 true로 평가됩니다. 따라서 루프는 무한정 실행되며, 메시지를 계속해서 출력합니다.

무한 루프를 만드는 또 다른 방법은 for 루프에서 조건을 생략하는 것입니다:

for (;;) {
    System.out.println("This also prints forever!");
}

여기서 for 루프의 초기화, 조건, 그리고 업데이트 부분이 모두 생략되었습니다. 이로 인해 무한히 실행되는 루프가 생성됩니다.

무한 루프는 루프의 조건이 논리 오류로 인해 항상 true인 경우처럼 의도치 않게 발생할 수도 있습니다:

int i = 0;
while (i < 10) {
    System.out.println("i is: " + i);
    // Missing i++ to increment i
}

이 예제에서 변수 i는 절대 증가하지 않으므로, 조건 i < 10은 항상 true입니다. 이는 "i is: 0"을 무한정 출력하는 무한 루프를 생성합니다.

무한 루프는 서버 프로그램처럼 수동으로 중지될 때까지 계속 실행되어야 하는 경우와 같이 일부 경우에 유용할 수 있습니다. 그러나 적절히 처리되지 않으면 프로그램이 멈추거나 충돌을 일으킬 수도 있습니다.

치트 시트

무한 루프는 조건이 항상 true로 평가되기 때문에 절대 멈추지 않는 루프입니다.

의도적인 무한 while 루프:

while (true) {
    System.out.println("This will print forever!");
}

의도적인 무한 for 루프 (모든 부분 생략):

for (;;) {
    System.out.println("This also prints forever!");
}

비의도적인 무한 루프 (증가 연산 누락):

int i = 0;
while (i < 10) {
    System.out.println("i is: " + i);
    // Missing i++ to increment i
}

직접 해보기

이 레슨에는 코드 챌린지가 없습니다.

quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨