본문 바로가기
game as a service

유니티 연습 3 : 메서드(함수)

by jessicahan96 2020. 12. 27.

지금까지는 Start 메서드 안에 모든 처리를 작성했습니다. 하지만 처리가 길어지면 읽기도 힘들고 디버그도 어려워 문제가 발생할 수 있죠.
이때는 모아 둔 처리마다 이름을 붙여 각각을 블록으로 사용할 수 있는 메서드를 쓰면 편리합니다.

 

✅ 메서드(함수)는 처리를 기능 단위로 묶는 역할 외에도 메서드에 값을 전달해서 계산하거나 계산 결과를 돌려받을 수 있도록 하는 역할을 합니다.
메서드로 건네는 값을 인수, 메서드에서 돌려받는 값을 반환값이라고 합니다. 여러 인수는 여러 개 건넬 수 있지만 반환값은 한 개로 정해져 있죠.

반환값의 데이터 형에는 호출자의 메서드로 반환하는 값의 데이터형을 지정합니다. 지정할 데이터형은 변수의 데이터형과 같습니다. 값을 반환하지 않는 메서드에는 void를 지정하는데, void란 '반환값이 없음'을 의미합니다.

인수는 호출자의 메서드에서 받은 값입니다. 메서드는 인수 값을 사용해서 처리를 실행하죠. 인수를 갖지 않는 메서드도 있는데 이때는 메서드명 뒤에 붙는 괄호 안을 공백으로 비웁니다.

작성하는 메서드를 호출할 때는 호출하는 메서드명에 이어 괄호 안에 전달하는 인수를 기술해야 하며, 인수가 여러 개면 쉼표(,)로 구분합니다.

1. 인수도 반환값도 없는 메서드

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Test : MonoBehaviour
{
    void SayHello()
    {
        Debug.Log("Hello");
    }
    void Start()
    {
        SayHello();
    }
}

 

실행결과

 

2. 인수가 있는 메서드

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Test : MonoBehaviour
{
    void CallName(string name)
    {
        Debug.Log("Hello, " + name);
    }
    void Start()
    {
        CallName("YeonHee");
    }
}

 

실행결과

 

3. 인수와 반환값이 있는 메서드

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Test : MonoBehaviour
{
    int Add(int a, int b)
    {
        int c = a + b;
        return c;
    }
    void Start()
    {
        int answer;
        answer = Add(2, 3);
        Debug.Log(answer);
    }
}

 

실행결과