본문 바로가기
tips/유니티 & 개발

유니티 C# 스크립트 문장 형식의 이해

by 디지털 수공업자 2021. 3. 6.
반응형

 

이 글은 미니게임 만들기 시리즈 중 첫 번째인 총알피하기의 내용을 보충하기 위해 작성된 글입니다.
미니게임 만들기. 총알피하기 1편 : boxwitch.tistory.com/180

 

스크립트 단위

유니티에서 C# 스크립트 파일을 생성하면 최초에 위와 같은 문장이 포함되어 있다.

C# 코드의 내용을 찬찬히 살펴보면 대충 위와 같은 두 가지 형식으로 구성되어 있음을 알 수 있는데, 세미콜론이 있으면 그것으로 한 문장을 끝내는 것이고, 중괄호가 있으면 중괄호 안의 여러 문장들을 한꺼번에 실행하는 문장들의 묶음이 된다. 중괄호는 열고 닫고가 반드시 짝이 맞아야 하며 그 사이 줄바꿈은 있어도 없어도 같다. 중괄호는 마치 폴더처럼 중복되어 하위에 또 다른 묶음들을 가질 수 있다.

위에 한글로 표시한 문장 구성이 C#에서 사용하는 거의 대부분의 문장을 만드는 방법이 되는데,
왼쪽의 종류 + 이름만으로 문장을 끝내면 변수가 되며, 거기에 추가로 소괄호와 중괄호가 붙으면 함수가 된다.

 

클래스, 함수, 변수

가장 상위의 중괄호 앞에 쓰여진 문장을 보면 콜론(:)이 달려 있기는 하지만 Player가 위에 설명한 이름에 해당되고, 그 앞에 class는 종류가 될 것이다. 조금 더 설명이 필요하겠지만 class와 중괄호 까지는 유니티에서 스크립트 생성시 이름마저 자동으로 생성되므로 이 스크립트 파일 이름을 바꾸지 않는 이상 처음 스크립트를 대하는 지금은 일단 넘어가도 좋다.

클래스의 중괄호 묶음 안에 또 묶음 Start와 Update가 있고, 이 두 개의 함수는 클래스 안에 있으면 유니티에서 알아서 실행시키는 함수들이고 필요없으면 없어도 무방하다. 유니티와 이미 약속된 함수들은 이외에도 많고, 우리는 그들과 이름이 겹치지 않는 한 새로운 이름으로 새로운 함수를 만들 수 있다.

처음 생성된 스크립트의 클래스 안에 있던 두 개의 함수를 지우고 채워 넣은 새로운 문장이다.

윗 문장은 소괄호와 중괄호가 없이 끝난 문장으로 a라는 이름을 가진 int형식의 변수를 앞으로 이 클래스안에서 사용하겠다는 선언이고, 아랫 문장은 중괄호 안의 할일들을 처리할 A라는 이름을 가진 함수이다.

위에 종류+이름으로 설명했던 형태가 계속 반복되는 것을 알 수 있는데 이제 위에서 종류로 불렀던 것은 데이터의 형태로서, 자료형이라고 부르자.

지금까지 위에서 본 함수 이름 앞 자료형 자리에 있는 void는 정해진 자료형이 없다는 의미로, 이 자리에 int와 같은 자료형이 써있게 되면 함수를 실행하고 끝날 때 해당 자료형의 값을 함수를 호출한 곳으로 되돌려주어야 한다. 처음 스크립트의 Start와 Update함수 앞에 void가 있는 것은 돌려줄 자료가 없음을 의미한다.

 

정리

스크립트 문서안의 대부분의 문장은 자료형 + 이름을 기본골격으로 사용하며, 기본골격에 소괄호() + 중괄호{} 가 붙으면 클래스나 함수가 된다. 이 형식을 대입해서 최초의 스크립트를 다시 보면 class형의 Player, void 형의 Start, void형의 Update 등으로 유사한 형식이 반복적으로 사용되고 있음을 알 수 있다.

Player 클래스에는 정수형의 age라는 변수가 있고 이 변수를 Player클래스 안에서 사용하겠다고 선언함과 동시에 9의 값을 갖는다. 되돌려 주는 값이 없는 IncreaseAge라는 이름의 함수를 실행시키면 age변수의 값에 1을 증가 시킨다. 따라서 IncreaseAge함수가 한번 실행되었다면 변수 age의 값은 10이 된다.

기본 구조를 대강 이해했다면 이 클래스에 담긴 요소들도 대강 짐작할 수 있었을 것이다. 이 형태가 눈에 익어오면 문장이 더 많은 코드라도 쉽게 해석할 수 있을 것이다.



반응형

댓글