개발괴발 공부

참조에 의한 전달

방프 2021. 4. 22. 21:33

< 참조에 의한 전달 >

값 형식을 참조로 전달할때 사용한다. 값복사가 일어나지 않도록 한다.

out : 매개변수 초기화 하지 않고, 전달

ref : 매개변수 초기화 하고, 전달

  ⇒ 초기값을 주지 않고 전달하고 싶을땐 out, 초기값을 주고 전달하고 싶을땐 ref

 


void Start()
{
    Test(data);
    Debug.Log(data);

    Test2(ref data);
    Debug.Log(data);

    Test3(out data);
    Debug.Log(data);

    Test(data);
    Debug.Log(data);
}

// k에 값 복사
public void Test(int k)
{
    k += k;
    Debug.Log(k);
}

// 값복사가 일어나지 않음. 초기화 하지 않음
public void Test2(ref int k)
{
    k += k;
    Debug.Log(k);
}

// 값복사가 일어나지 않음. 초기화 함
public void Test3(out int k)
{
    k = 1;
    k += k;
    Debug.Log(k);
}