이전 글은 아래 링크를 통해 확인할 수 있다.
[유니티교과서] 3. 유니티 스크립트에 대해서
이전글이 궁금하다면 아래 링크를 통해서 확인할 수 있다. 2022.09.30 - [공부/책으로 공부하기] - [유니티 교과서] 2. 유니티 에디터 화면 구성과 기타 기능들 알아보기 [유니티 교과서] 2. 유니티 에
supersooyeon.tistory.com
변수
스크립트에서는 데이터를 저장하고 다루기 위해 변수를 사용한다. 변수는 데이터를 감싸고 있는 상자와 같다. 상자를 만들려면 상자에 어떤 종류의 데이터를 넣을지, 상자 이름으로 무엇을 쓸지 선언해야 한다.
상자 종류의 이름은 '데이터 형 이름'이라고 부르는데 데이터 형에는 정수, 소수, 문자열, 불 값 등이 있다. 또한 상자 이름은 '변수명'이라고 하는데 변수명은 스크립트에서 중복되지 않는 유일한 이름을 정해서 사용한다.
데이터 형 이름은 다음과 같다.
데이터 형 이름 | 설명 | 값의 범위 |
int | 정수형 | -2,147,483,648 ~ 2,147,483,647 |
float | 부동소수점형 | -3.402823E+38 ~ 3.402823E+38 |
double | 배정도부동소수점형 | -1.79769313486232E+308 ~ 1.79769313486232E+308 |
bool | 불형 | true 또는 false |
char | 문자형 | 텍스트로 사용되는 유니코드 기호 |
string | 문자열형 | 텍스트 |
이전 시간에 만들어두었던 프로젝트에서 스크립트를 열어 변수를 사용하는 방법을 알아보자.
10번 줄에서 age에 값 30을 넣은것을 대입이라고 한다. 대입할 때는 값을 넣는 변수를 왼쪽, 넣고 싶은 값을 오른쪽에 두고 가운데를 =로 잇는다. =은 대입연산자라고 한다. 수학에서 쓰는 왼쪽과 오른쪽 값이 같다는 뜻인 등호(=)와 의미가 다르니 주의하자.
이렇게 하면 int형 age라는 이름의 상자에 30을 담은것으로 이해하면 된다.
이번에는 변수에 변수를 대입하는 예를 들어보자.
설명은 주석으로 달아놨다.
float형에 double형을 대입하면? double형은 float형보다 값을 표현할 수 있는 범위가 넓기때문에 flaot형에 double형을 대입하면 float형에 들어가지 않는 범위는 버려진다. 모르고 넘어가면 값이 달라져 문제가 될 수 있고, 이러한 문제는 원인을 찾기 어려워 애먹을 수 있다.
이번에는 변수에 문자열을 대입하는 예를 살펴보자.
문자열을 다루는 데이터 형은 string형이다. string형 데이터 상자 name에 Sera라는 문자열을 넣은것과 같다.
string형에 숫자를 대입하면? 데이터 형이 string형인 변수에 "1234"를 대입하고 콘솔창에서 확인해보면 1234가 출력된다. 데이터 형이 int형인 변수에 1234를 대입했을 때와 출력 결과는 같아 보이지만 string형에 대입된 것은 '문자열'이기 때문에 계산하는 데는 쓸 수 없다. 큰따옴표로 감싸진 것은 무엇이 되었건 문자열이라는 것을 기억하자.
숫자를 사용한 연산 방법을 알아보자. 스크립트에서 사칙연산을 할 때 덧셈은 +(플러스), 뺄셈은 -(마이너스), 곱셈은 *(애스터리스크), 나눗셈은 /(슬래시) 기호를 사용한다.
숫자와 숫자의 연산뿐만 아니라 변수와 변수도 연산할 수 있다. 다음 예를 살펴보자.
이처럼 2나 3같은 숫자뿐만 아니라 변수에 값을 대입한 후 변수를 사칙연산에 이용할 수도 있다.
상자 안에 든 값에 5를 더하고 싶거나 변수 값을 일정하게 늘리고 싶을 때가 있다. 이때는 다음과 같이 변수 값에 5를 더할 수 있다. answer = answer + 5;
예를 들어 answer 변수 값이 10이라고 하면, 10+5를 계산한 결과가 다시 answer에 대입된다. 단, 변수 값을 늘릴 때마다 이렇게 쓰면 조급 복잡해진다. 이때는 간단하게 += 연산자를 사용한다. 변수명 += 증가하고 싶은 값으로 쓰면 변수 값을 원하는 수만큼 증가시킬 수 있다. 다음과 같이 작성해서 실행해 보자.
answer라는 이름의 int형 상자에 10이 들어있었는데, 여기에 +5를 더 넣어준것과 같다. 더하기 연산자 말고도 뺄셈, 곱셈, 나눗셈 같은 연산자를 쓸 수 있다. 각각 -=, *=, /= 을 쓴다.
이번에는 변수 값을 1만큼 늘리고 싶을 수도 있다. C#에서는 변수 값을 1만큼 늘릴 때 쓰는 증가 연산자가 있다. 증가 연산자는 변수명++로 쓴다.
증가 연산자와 반대로 변수 값을 1만큼 줄이는 감소 연산자도 있다. 감소 연산자는 변수명--로 쓴다. 변수 값을 1씩 늘리려면 += 연산자를 사용해 answer += 1로 쓸 수도 있고, +연산자를 사용해 answer = answer + 1로 쓸수도 있다. 하지만 변수 값을 1씩 늘리거나 줄이는 연산은 제어문 등에서 자주 쓰는 연산으로 ++ 연산자(증가 연산자)와 -- 연산자(감소 연산자)라는 연산자가 별도로 있으니 편하게 쓸 수 있다.
문자열은 숫자처럼 연산을 할 수는 없지만 +연산자나 += 연산자를 사용해 문자열을 연결할 수 있다. 다음 스크립트를 작성해 확인해 보자.
다음과 같이 += 연산자를 사용해 작성해도 출력결과는 같다는것을 확인할 수 있다.
+ 연산자를 사용하면 str1이나 str2 문자열이 바뀌지 않는데 비해, += 연산자를 사용하면 str1 문자열에 str2 문자열을 바로 연결하므로 str1 문자열이 바뀐다.
+연산자나 += 연산자는 숫자와 숫자의 덧셈이나 문자열과 문자열의 연결뿐만 아니라 숫자와 문자열도 연결할 수 있다. 문자열과 숫자를 연결하면 숫자는 문자열로 취급된다.
'책으로 공부하기 > 유니티 교과서' 카테고리의 다른 글
[유니티교과서] 6. 배열 (0) | 2022.11.11 |
---|---|
[유니티교과서] 5.제어문 (0) | 2022.11.08 |
[유니티교과서] 3. 유니티 스크립트에 대해서 (0) | 2022.10.13 |
[유니티 교과서] 2. 유니티 에디터 화면 구성과 기타 기능들 알아보기 (1) | 2022.09.30 |
[유니티 교과서] 1. 유니티에 대해서 (0) | 2022.09.30 |
댓글