using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Test : MonoBehaviour
{
public int Add(int num1, int num2)
{
int result = num1 + num2;
return result;
}
public void Multiple(int num1, int num2)
{
int result = num1 * num2;
Debug.Log($"{num1} x {num2} = {result}");
}
}
☝ Add() 메소드처럼 반환형식이 있을 수도 있지만 Multiple처럼 외부로 내보내는 반환형식이 없을 수도 있다 이때는 반환형식을 작성하는 자리에 void 키워드를 사용한다
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Test : MonoBehaviour
{
private void Awake()
{
int a = Max(10, 20); // 반환되는 데이터와 동일한 타입의 변수를 만들어
// 메소드가 호출되는 외부에서 값을 받을 수 있다.
Debug.Log(Max(100, 200)); // 변수를 만들지 않고 바로 사용해도 된다
Max(5, 10); // 반환되는 값이 필요 없으면 받지 않아도 된다
}
public int Max(int num1, int num2)
{
if ( num1 > num2 )
{
return num1; // numn1이 더 클 경우 num1 값을 함수 외부로 반환
}
return num2; // 조건을 만족하지 않는 경우 num2 값을 함수 외부로 반환
}
}
👇 반환 데이터가 없는 경우
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Test : MonoBehaviour
{
private void Awake()
{
Divide(10, 0);
}
public void Divide(int num1, int num2)
{
if ( num2 == 0 )
{
Debug.Log("나누려는 값이 0이기 때문에 프로그램 종료");
return;
}
float result = num1 / num2;
Debug.Log($"{num1}/{num2} = {result}");
}
}
num2 의 값이 0일 경우 return을 만나 그 아래의 코드는 실행하지 않고, return에서 메소드를 빠져나간다
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Test : MonoBehaviour
{
private void Awake()
{
int a = 3;
int b = 4;
Add(a, b);
}
public void Add(int num1, int num2)
{
int result = num1 + num2;
Debug.Log($"{num1} + {num2} = {result}");
}
// 매개변수 num1, num2 는 Add함수 내부에서만 생존한다
}