유니티 기초 강좌: 조건문이란?

유니티는 게임 개발을 위한 강력한 엔진으로, 프로그래밍 언어인 C#을 주로 사용하여 스크립트를 작성합니다. 게임 개발에서의 조건문은 중요한 역할을 합니다. 조건문을 통해 프로그램의 흐름을 제어하고, 다양한 상황에 응답할 수 있는 로직을 구현할 수 있습니다. 이 글에서는 C#의 조건문에 대해 자세히 설명하고 예제 코드와 함께 설명하겠습니다.

조건문의 개념

조건문은 주어진 조건이 참인지 거짓인지에 따라서 프로그램의 실행 흐름을 분기할 수 있는 문장입니다. C#에서 사용되는 조건문에는 주로 if, else, else if, switch 문이 있습니다.

1. if 문

if 문은 주어진 조건이 참일 경우 특정 코드를 실행하도록 합니다. 기본적인 구문은 다음과 같습니다:

if (조건)
{
    // 조건이 참일 때 실행할 코드
}

예제

void Update()
{
    if (Input.GetKeyDown(KeyCode.Space))
    {
        Debug.Log("스페이스 키가 눌렸습니다.");
    }
}

위의 예제에서는 스페이스 키가 눌렸을 때 콘솔에 메시지를 출력합니다.

2. else 문

else 문은 if 문의 조건이 거짓일 때 실행될 코드를 정의합니다. 구문은 다음과 같습니다:

if (조건)
{
    // 조건이 참일 때 실행할 코드
}
else
{
    // 조건이 거짓일 때 실행할 코드
}

예제

void Update()
{
    if (Input.GetKeyDown(KeyCode.Space))
    {
        Debug.Log("스페이스 키가 눌렸습니다.");
    }
    else
    {
        Debug.Log("스페이스 키가 눌리지 않았습니다.");
    }
}

이 예제에서는 스페이스 키가 눌린 경우와 눌리지 않은 경우에 따라 각각 다른 메시지를 출력합니다.

3. else if 문

여러 조건을 검사할 때 else if 문을 사용합니다. 구문은 다음과 같습니다:

if (조건1)
{
    // 조건1이 참일 때 실행할 코드
}
else if (조건2)
{
    // 조건2가 참일 때 실행할 코드
}
else
{
    // 모든 조건이 거짓일 때 실행할 코드
}

예제

void Update()
{
    if (Input.GetKeyDown(KeyCode.Alpha1))
    {
        Debug.Log("1 키가 눌렸습니다.");
    }
    else if (Input.GetKeyDown(KeyCode.Alpha2))
    {
        Debug.Log("2 키가 눌렸습니다.");
    }
    else
    {
        Debug.Log("1 또는 2 키가 눌리지 않았습니다.");
    }
}

이 예제는 사용자 입력에 따라 다르게 반응합니다.

4. switch 문

switch 문은 주어진 변수가 여러 가지 값 중 하나와 일치하는지 확인하는 데 유용합니다. 구문은 다음과 같습니다:

switch (변수)
{
    case 값1:
        // 값1과 일치할 때 실행할 코드
        break;
    case 값2:
        // 값2와 일치할 때 실행할 코드
        break;
    default:
        // 모든 경우와 일치하지 않을 때 실행할 코드
        break;
}

예제

void Update()
{
    int score = 10;

    switch (score)
    {
        case 10:
            Debug.Log("점수가 10입니다.");
            break;
        case 20:
            Debug.Log("점수가 20입니다.");
            break;
        default:
            Debug.Log("점수가 10도 20도 아닙니다.");
            break;
    }
}

이 예제에서는 점수에 따라 다른 메시지를 출력합니다.

조건문 사용 시 주의사항

  • 중첩된 조건문을 사용하면 코드가 복잡해질 수 있습니다. 가독성을 유지하기 위해 적절하게 논리 구조를 유지하는 것이 중요합니다.
  • 조건문 안에 많은 코드를 넣으면 효율성이 떨어질 수 있습니다. 가능하면 조건문은 간결하게 유지하는 것이 좋습니다.
  • 불필요한 조건문을 줄이기 위해 코드를 리팩토링하는 것이 좋습니다. 예를 들어, 불리언 변수를 사용하는 등의 방법이 있습니다.

결론

조건문은 유니티에서 게임 로직을 구성하는 데 매우 중요한 요소입니다. 올바르게 사용하면 게임의 상호작용을 풍부하게 하고, 사용자 경험을 극대화할 수 있습니다. 본 강좌에서는 조건문에 대한 기본 개념과 사용법을 설명하였습니다. 앞으로 더 깊은 이해를 위해 다양한 예제와 실습을 통해 익혀보시길 권장합니다.

참고자료