ref
변수를 복사하여 인자로 전달하는 것이 아니라 변수 그 자체를 전달함 (초기화 된 변수만 가능)
함수 내부에서 해당 변수의 값을 수정할 수 있음 (꼭 수정하지 않아도 괜찮음)
out
return값이 여러개인 경우 주로 사용 (초기화 되지 않은 변수도 가능)
함수 내부에서 해당 변수의 값을 수정할 수 있음 (꼭 바꿔야 함)
float CalcAreaAndCircum(ref float x, float y, out float circum)
{
circum = 2 * (x + y);
return x * y;
}
void Start()
{
float x = 15f;
float y = 20f;
float circum;
float area = CalcAreaAndCircum(ref x, y, out circum);
Debug.Log($"둘레 : {circum} / 넓이 : {area}");
}