본문 바로가기
책으로 공부하기/유니티 교과서

[유니티교과서] 5.제어문

by 개발자 슈니 2022. 11. 8.
728x90
반응형

제어문 

제어문을 사용하면 특정한 조건이 맞을 때만 스크립트를 처리하거나 반복해서 실행할 수 있다.

 

특정한 조건이 맞을때만 스크립트를 실행하고 싶다면 if 문을 사용한다. if 문의 흐름은 조건식에 표시한 조건을 만족하면(조건이 참이면) 중괄호에 담긴 처리를 실행하고 조건을 만족시키지 못하면(조건식이 거짓이면) 중괄호 블록 안에 담긴 처리를 실행하지 않고 다음 스크립트로 넘어간다.

 

// if 문을 사용하는 방법

if (조건식)
{
	처리
}

 

관계 연산자if 문의 조건식에는 관계 연산자를 사용할 수 있다. ==연산자는왼쪽과오른쪽값이같으면'참',같지않으면'거짓'이 된다. != 은 ==과 반대로 왼쪽과 오른쪽 값이 같으면 '거짓'이 된다. 이외에는 수학에서 자주 사용하는 부등호와 같은 개념으로 쓰인다. 

 

if 문 사용하기

if 문에서 조건식이 '거짓'이면 콘솔 창에 메시지를 출력하지 않고 종료한다.

 

 

if ~ else 문if 문을 응용한건데 조건식을 만족할 때와 만족하지 않을 때를 각각 다르게 처리할 때 쓴다.

if (조건식)
{
	처리 A
}
else
{
	처리 B
}

 

if~else 문 사용하기 1

 

위에서 지금까지는 조건문을 한 가지만 넣어 처리하는 유형을 알아봤다. 그렇다면 조건이 두 개 이상일때의 유형을 살펴보자.

if (조건식 a)
{
	처리 A
}
else if (조건식 b)
{
	처리 B
}
.
.
.
else if (조건식 y)
{
	처리 Y
}
else
{
	처리 Z
}

이 조건문의 흐름은 위에서 아래로 차례대로 검사해 조건을 만족하면 계속해서 중괄호 블록 안에 든 처리를 실행하고 다음에 있는 else if 문이나 else 문은 실행하지 않고 조건 분기를 종료한 후 그다음 스크립트를 처리한다. 모든 조건식을 만족하지 않으면 마지막에 있는 else에 해당하는 ㅜㅇ괄호 블록 안의 처리를 실행한다. 앞의 if 문과 마지막 else 문 사이에 있는 else if 문은 몇 개라도 상관없고 마지막 else 문은 생략할 수 있다.

 

아래는 if~else 문을 여러 개 연결한 예제이다.

if~else 문 사용하기 2

 

if 문의 블록에서 정의한 변수는 사용할 수 있는 범위가 정해져 있다. 

변수 범위의 예

위의 예제에서 보듯이 12번줄에서 y 변수를 제대로 선언하고 초기화까지 했는데 16번줄에서 오류가 발생한다. 변수는 선언한 줄을 포함하는 중괄호 안에서만 사용할 수 있다. 이것을 변수 범위(사용할 수 있는 범위)라고 한다. 즉, y 변수의 범위는 if 문 블록 안이므로 16번 줄에서 오류가 발생한것이다. if 문 안에서 선언한 변수는 if 문 바깥에서는 사용할 수 없으므로 주의하자.

 

 

for 문스크립트를 작성하다 보면 같은 처리를 여러 번 반복해야 할 때가 있는데 이때는 반복 횟수를 지정하면 자동으로 반복 횟수만큼 처리를 반복하는 for 문을 사용한다.

 

// for 문의 형식을 간단하게 표현하면 다음과 같다.
for(반복 횟수)
{
	처리
}

// 실제 스크립트에선 간단하게 다음과 같이 사용한다.
for(변수 초기화; 반복 조건식; 변수 갱신)
{
	처리
}

 

아래의 예제로 스크립트를 작성해보자.

for 문 사용하기

처리 흐름은 다음과 같다.

  1. i 변수를 0으로 초기화한다.
  2. 반복 조건(i < 5)를 만족하면 3, 만족하지 않으면 반복문을 종료한다.
  3. 콘솔 창에 i 값을 출력한다.
  4. i를 증가시킨다(i 값을 1 증가)
  5. 2로 돌아간다.

 

for 문을 사용한 예제를 몇 개 더 살펴보자.

짝수만 출력하기

앞 예제의 9번 줄에서 i++였던 부분을 .i += 2로 수정했다. for 문을 반복할 때마다 i 변수 값이 2씩 증가하므로 콘솔 창에는 10 미만의 짝수만 출력된다.

 

다음은 3부터 5까지 출력하는 스크립트이다.

특정 범위만 출력하기

for 문 조건식에서 사용하는 변수 초깃값이 3, 반복 조건이 i <= 5이므로, 3, 4, 5가 출력된다. 이처럼 초깃값과 조건식을 변경해 특정 범위의 값만 출력할 수 있다.

 

카운트다운 하기

초깃값을 3으로 설정하고 반복할 때마다 i 변수 값을 1씩 줄인다. 반복 조건이 i >= 0이므로 3, 2, 1, 0을 출력하고 반복문을 종료한다.

 

다음은 1부터 10까지 더한 값을 출력하는 스크립트이다.

합계 구하기

sum 변수를 준비하고 fo 문에서 i 값을 sum에 더한다. for 문을 한 바퀴 돌면 sum이 1이 되고 두 바퀴 돌면 1에 2를 더하므로 3, 세 바퀴 돌면 3에 3을 더하므로 6이 된다. i는 1부터 10까지만 더하므로 i를 1로 초기화하고 조건식을 i <= 10으로 만든다.

 

 

2022.10.27 - [공부/책으로 공부하기] - [유니티교과서] 4. 변수 사용하기

 

[유니티교과서] 4. 변수 사용하기

이전 글은 아래 링크를 통해 확인할 수 있다. [유니티교과서] 3. 유니티 스크립트에 대해서 이전글이 궁금하다면 아래 링크를 통해서 확인할 수 있다. 2022.09.30 - [공부/책으로 공부하기] - [유니티

supersooyeon.tistory.com

 

 

728x90
반응형

댓글