본문 바로가기
Unreal Engine

Unreal Engine While Loop (While 반복문)의 이해와 위험성

by hfgraphic 2025. 10. 27.
반응형

 

While Loop (While 반복문)의 이해와 위험성

 

이제 **While Loop (While 반복문)**에 대해 이야기해 봅시다.


 

1. While Loop의 작동 방식

대표사진 삭제

AI 활용 설정

사진 설명을 입력하세요.

While Loop조건이 **참(True)**인 동안 **Loop Body (반복 본문)**에 연결된 코드를 계속해서 반복 실행합니다.

  1. 조건(Condition): 여기에 불리언 값이나 조건 연산자의 결과(참/거짓)를 연결합니다.
  2. Loop Body: 조건이 참인 동안 반복해서 실행될 코드입니다.
  3. Completed: 조건이 **거짓(False)**이 되어 반복문이 종료된 후 실행될 코드입니다.

 

2. While Loop의 위험성 (무한 루프)

 

While Loop는 사용에 매우 위험하며, 게임에서 거의 사용해서는 안 됩니다. 그 이유는 **무한 루프(Infinite Loop)**를 만들기 쉽기 때문입니다.

 

무한 루프 예시 (Boolean 사용)

대표사진 삭제

AI 활용 설정

사진 설명을 입력하세요.

  1. 조건 설정: **'Is Dead'**라는 Boolean 변수를 만들고 True로 설정합니다.
  2. While Loop 연결: While Loop에 'Is Dead' 변수를 연결합니다.
  3. 위험성: 코드는 **"플레이어가 죽은 동안(While the player is dead), 이 코드를 반복하라"**고 명령합니다.
  • 만약 Loop Body 내에서 **'Is Dead'**를 False로 **설정(Set)**하는 코드가 없다면, 이 조건은 항상 참으로 유지됩니다.
  • 결과: 게임은 멈추지 않고 계속해서 코드를 실행하며, 이는 결국 **엔진 충돌(Crash)**을 일으키고 **'Infinite Loop Detected (무한 루프 감지)'**라는 오류 메시지를 띄우게 됩니다.
대표사진 삭제

AI 활용 설정

사진 설명을 입력하세요.


 

3. While Loop의 통제된 사용 예시 (Integer 사용)

 

While Loop를 안전하게 사용하려면, Loop Body 내에서 언젠가 조건이 거짓이 되도록 변수를 변경해야 합니다.

대표사진 삭제
 

AI 활용 설정

사진 설명을 입력하세요.

  1. 조건 설정: 'StepsTaken' 정수 변수를 사용하고 **"StepsTaken이 10보다 작은가(Lower than 10)?"**라는 조건을 설정합니다.
  2. Loop Body 로직:
  • **'StepsTaken'**을 **'++' (1 증가)**하여 Set합니다.
  • 증가된 'StepsTaken' 값을 Print String으로 출력합니다.
  1. 흐름:
  • 'StepsTaken'이 10보다 작을 때반복 실행 (값을 1씩 증가시키고 출력)
  • 'StepsTaken'이 10이 되는 순간조건이 거짓이 되어 루프 종료
  1. Completed: 루프가 끝나면 "This is complete" 메시지를 출력합니다.
  • 결과: 루프는 정확히 0부터 9까지 10번 실행된 후 종료됩니다.

 

핵심 요약: While Loop는 조건이 언제 끝날지 알 수 없을 때 사용되지만, For LoopFor Each Loop가 훨씬 안전하고 통제하기 쉬우므로, While Loop는 무한 루프를 만들 위험 때문에 사용을 피하는 것이 좋습니다.

 

반응형