<유니티,C# 기초> 함수

2023. 7. 31. 22:52프로그래밍

사실 전 블로그에서 우리는 이미 함수를 사용해 봤습니다

 

https://blueeagle071.tistory.com/6

 

<유니티> 프로그래밍/ void Start, void Update

유니티 프로젝트에서 Create C# Script를 만들어서 들어가 보시면 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 using System.Collections; using System.Collections.Generic; using UnityEngine; public..

blueeagle071.tistory.com

바로 start 함수와 update 함수였죠 기본적으로 유니티에서 C#스크립트를 만들면 생성되는 함수였습니다. 

이번에는 우리가 함수를 새로 만들어볼겁니다. 

그런데 함수는 왜 쓰는것일까요? 일단 가벼운 게임 코드라면 모르겠지만 코딩을 하다 보면

줄이 길어지고 코드가 보기 힘들어짐으로 에러 버그가 많이 생깁니다. 함수 사용으로 

코드를 정리해서 보고 좀 더 버그나 에러가 나지 않도록 하기 위함입니다.

 

 

참고로 함수는 함수(Function)으로도 불리고 메서드(method)라고도 불립니다 

결국 두 뜻은 모두 같기 때문에 혼동이 없길 바랍니다.

 

1. void 함수

위 블로그에서 우리는 이미 void 함수의 정의에 대해 배웠습니다.

바로 리턴 값이 없는 행동을 취하는 함수라고요 void 함수 사용법은 이러합니다

 

 

 void 함수이름()
    {
        실행할 내용
    }

이렇게  선언을 해준 후

 

함수 이름(); 을 적어주시면 실행이 가능합니다. 그럼 간단한 예를 살펴봅시다

 

이렇게 코드를 적어봅시다. 그럼 Name 함수 안에 있는 명령들이 Start에서 실행될 겁니다

 

역시 void 안에 있던 명령어들이 잘 실행되었습니다.

 

여기서 주의하셔야 할 점이 있습니다. 기본적으로 함수 메서드를 선언할 때 이름에

공백 문자(띄어쓰기가) 있어서는 안 됩니다

이런 식으로 에러가 뜨죠 만약 띄어쓰기 같은 표현을 쓰고 싶다면 언더바 '_'를 쓰시는 것을 추천합니다

 

 

2. 반환 함수

앞의 void 함수는 값을 리턴하지 않는 실행하는 함수라고 배웠습니다 그럼 이제 값을 리턴할 수 있는 함수를 

알아봅시다. 반환 함수는 어떤 값을 리턴해줄 수 있는 함수입니다. 예제를 살펴봅시다

 

 

수 값을 리턴 받을 것으로 void 말고 float로 써줍니다 이제 Name 소괄호 안에 보면 age라는 

float라는 변수를 선언한 게 보이실 겁니다. 이는 외부에서 함수 내부로 전달할 값을 받는 변수라 보시면 되겠습니다

그리고 리턴할 값을 return 옆에 적어주시면 값이 리턴됩니다

하나씩 보자면

1. Name 함수 안에 있는 age 값을 99 라 지정합니다

2.  age에 1을 더합니다 

3. age를 리턴한 후 age를 출력합니다 

실행 후 결과를 봅시다

99를 넣어서 1을 더해 출력하니 100이 되어 출력됩니다. 잘 실행되었죠

 

하지만 여기서 이상한게 보입니다 우리는 분명 이전 블로그에서 float 변수를 사용할때 f를 값 옆에 붙여준다 하였습니다

 

https://blueeagle071.tistory.com/7

 

<유니티,C#> 변수의 종류와 사용

1. 변수란 Variable 즉 변수는 '변할 수 있다는 수'라는 뜻으로 변수를 선언하고 그 안에 값을 담는 용도로 사용합니다 마치 바구니처럼 말이죠 그런데 이런 바구니가 모든 걸 담지는 못하죠 그래서

blueeagle071.tistory.com

 

하지만 위 코드에서는 붙여주지 않고 잘 실행이 되었죠 이는 float 타입이 정수 타입을 모두 포함하기때문에

(float 는 소수 정수 모두표현 int 정수표현) 자동으로 float 타입으로 바궈주기 때문입니다

그렇다고 f 를 붙인다고 에러가생기진 않습니다.