유니티 기초 강좌: 반복문 – for

유니티에서 게임 개발을 하다 보면 반복적인 작업을 처리하는 것이 매우 중요합니다.
이를 위해 프로그래밍에서는 ‘반복문’이라는 개념을 사용하며, 그 중 ‘for’ 문이 가장 일반적이고 강력한 도구 중 하나입니다.
이번 글에서는 유니티에서 ‘for’ 반복문을 어떻게 활용할 수 있는지 구체적으로 알아보겠습니다.

1. 반복문의 필요성

게임 개발에서는 다양한 요소들이 반복적으로 사용됩니다.
예를 들어, 적 캐릭터를 여러 명 스폰하거나, 게임 오브젝트의 속성을 일괄적으로 변화시킬 때 반복문이 매우 유용합니다.
반복문 없이 이러한 작업을 수작업으로 진행한다면 코드가 비효율적이고 복잡해져, 유지보수가 어려워질 수 있습니다.

2. for 반복문 개요

‘for’ 반복문은 특정 조건을 만족하는 동안 반복하여 코드를 실행하는 구조입니다.
기본 문법은 다음과 같습니다:

        for (초기화; 조건; 증감) {
            // 반복할 코드
        }
    

3. for 문 구성 요소

초기화: 반복문이 시작되기 전에 변수를 초기화합니다.
조건: 이 조건이 true인 동안 반복합니다.
증감: 매 반복 시 변수를 증가시키거나 감소시킵니다.

4. for 문 예제

다음은 유니티에서 ‘for’ 반복문을 사용하는 간단한 예제입니다.
이 예제는 10개의 적 캐릭터를 생성하는 코드입니다.

        using UnityEngine;

        public class EnemySpawner : MonoBehaviour {
            public GameObject enemyPrefab;

            void Start() {
                for (int i = 0; i < 10; i++) {
                    Instantiate(enemyPrefab, new Vector3(i * 2.0F, 0, 0), Quaternion.identity);
                }
            }
        }
    

이 코드에서는 ‘enemyPrefab’이라는 프리팹을 사용하여 10개의 적을 생성합니다.
각 적은 x축 방향으로 2.0 단위 간격으로 배치됩니다.

5. 중첩 for 문

‘for’ 문은 중첩 가능하여, 2차원 배열이나 그리드 기반의 요소를 처리하는 데 유용합니다.
예를 들어, 5×5 그리드를 생성하는 코드 예제는 다음과 같습니다.

        using UnityEngine;

        public class GridSpawner : MonoBehaviour {
            public GameObject tilePrefab;

            void Start() {
                for (int x = 0; x < 5; x++) {
                    for (int z = 0; z < 5; z++) {
                        Instantiate(tilePrefab, new Vector3(x, 0, z), Quaternion.identity);
                    }
                }
            }
        }
    

위 코드에서는 두 개의 ‘for’ 문을 사용하여 5×5 크기의 그리드를 만들고 있습니다.
각각의 타일은 ’tilePrefab’을 사용하여 생성됩니다.

6. for 문과 배열

‘for’ 문은 배열을 사용할 때 매우 효과적입니다.
배열의 모든 요소에 접근하는 간단한 예시를 살펴보겠습니다.

        using UnityEngine;

        public class ArrayExample : MonoBehaviour {
            int[] numbers = { 1, 2, 3, 4, 5 };

            void Start() {
                for (int i = 0; i < numbers.Length; i++) {
                    Debug.Log("Number: " + numbers[i]);
                }
            }
        }
    

이 코드는 ‘numbers’ 배열의 모든 요소를 출력합니다.
‘numbers.Length’를 통해 배열의 크기를 동적으로 얻어올 수 있어, 배열 크기가 변경될 경우에도 코드 수정 없이 사용할 수 있습니다.

7. for 문 사용 시 주의사항

‘for’ 문을 사용할 때는 무한 루프에 빠지지 않도록 주의해야 합니다.
조건이 항상 true가 되도록 설정하면 프로그램이 멈추지 않고 계속 실행됩니다.
항상 종료 조건을 명확히 설정하고, 필요한 경우 ‘break’ 문을 사용하여 반복을 중단할 수 있도록 설계해야 합니다.

8. 결론

이번 강좌에서는 유니티에서 ‘for’ 반복문을 사용하는 방법에 대해 살펴보았습니다.
반복문은 프로그래밍에서 매우 중요한 개념이며, 이를 잘 활용하면 코드의 가독성과 유지보수성이 크게 향상됩니다.
다양한 예제를 통해 반복문의 사용법을 익히고, 나만의 게임 개발에 적용해 보시기 바랍니다.