안녕하세요 연꿈술사입니다.
오늘은 Unity 3D C# Script에서 사용하는 함수에 대해서 알아보겠습니다.
먼저, 함수는 구현부와 호출부로 나뉘어 사용하게 됩니다.
함수를 구현하고, 사용할 위치에서 호출하는 형식입니다.
어떤 구조로 이루어져 있는지 알아보겠습니다.
구현부 반환 자료형 함수이름(인자(변수 선언)) { // 기능 구현 return 반환값; } |
호출부 함수 이름(인자값) |
함수는 영어로는 'Function'이고, 이를 다시 한글로 번역하면 '기능'을 뜻합니다.
C#에서 함수는 메소드라고 불립니다.
함수를 호출할 때에 인자 값을 전달하며, 구현부에서 전달된 인자 값을 변수에 담아 사용합니다.
원하는 기능을 사용한 후에 결과를 반환한다고 보시면 되겠습니다.
2개의 값을 인자로 받아 더하기 기능을 하는 Plus 함수를 C# 코드로 작성해보겠습니다.
public class Test : MonoBehaviour { //구현부 int Plus(int number1, int number2) { int result = number1 + number2 return result; } //호출부 void Start() { int sum = Plus(5,10); // 함수를 호출 Debug.Log(sum); } } |
int 로 반환 자료형을 사용하고 인자값을 number1 과 number2로 2개를 받는 함수입니다.
반환 자료형이 void라면 return 값을 받을 게 없다는 뜻으로 return 구문을 생략할 수 있고, return값으로 받으려는
자료형이 있다면 반환 자료형에 알맞는 자료형을 넣고 이에 맞는 return 값을 적어주시면 됩니다.
현재는 반환 자료형이 int 형으로 return 값에 result라는 int 자료형의 변수가 온 것을 알 수 있습니다.
인자값의 갯수는 사용하는 만큼 0개 이상으로 적어주시면 됩니다. 따로 받을 필요가 없다면 적을 필요는 없습니다.
여기에서 결과는 5와 10을 더한 15가 출력되게 됩니다.
이제 지역변수와 전역변수에 대해 알아보겠습니다.
함수를 원이라고 한다면, 원 안에 변수를 선언할 수 있을 것이고, 원 외부에도 선언할 수 있습니다. 원 안에 선언된 변수는
원 안에서만 사용할 수 있습니다. 하지만 원 외부에 선언한 변수는 원을 포함한 범위를 갖고 있기 때문에 원 안에서도 사용이 가능합니다. 이렇게 원의 안쪽에 선언된 변수를 '지역 변수'라고 하고, 원 외부에 선언된 변수를 '전역 변수'라고 합니다.
조금 더 쉽게 설명해보자면 서울에 살고 있는 철수가 있고, 경기도에 사는 철수가 있다고 한다면 서울에서 철수를 부르면 서울의 철수가 대답하고, 경기도에서 철수를 부르면 경기도의 철수가 대답합니다. 하지만 그 밖에서 철수를 부르면 대답하지 못합니다. 만약 한국에서 철수를 선언하면 서울과 경기도 둘 다 전역공간의 철수에 접근해 사용할 수 있습니다.
하지만 전역변수와 지역변수의 이름이 같다면 지역변수가 우선시되니 참고하시기 바랍니다.
하지만 우리가 배우는 유니티 C# 에서는 전역변수는 사용하지 않습니다. 전부 클래스에 담아서 사용하기 때문입니다.
'Unity 3D' 카테고리의 다른 글
Unity C# 문법 (6) Vector (0) | 2023.08.03 |
---|---|
Unity C# 문법 (5) 객체지향 언어 (0) | 2023.08.02 |
Unity C# 문법 (3) for, while (0) | 2023.07.31 |
Unity C# 문법 (2) if, switch case (0) | 2023.07.30 |
Unity 3D 엔진 기초 (1) Hierarchy, Inspector 등 (0) | 2023.07.29 |
댓글