ref

tacoyaggi ㅣ 2024. 2. 20. 08:41

정의

ref 키워드는 메서드의 파라미터를 참조에 의해 전달되도록 지정하는데 사용 합니다. 

메서드 호출시에 인수의 값을 복사하는 대신 원본 변수의 참조를 전달하여 메서드가 원본 변수의 값을 변경할 수 있게 합니다. 일반적으로 C#에서는 값 타입의 파라미터는 원본 변수의 복사본이 메서드에 전달 됩니다. 하지만 ref 키워드를 사용하면 값을 전달하는 것이 아니라 원본 변수의 참조를 전달하므로 메서드 내에서 해당 변수의 값을 변경하면 호출자에게도 반영 됩니다. 

 

 

예제

메서드는 ref 키워드를 사용하여 num 변수를 전달 받습니다. num 변수의 참조를 전달하여 메서드에서 해당 변수를 직접 조작할 수 있게 합니다. 따라서 메서드 내에서 x 값을 증가시키면 참조값이 변경 됩니다. 

int num = 10;

Console.WriteLine(num); // 10

Taco.Ref_Test(ref num);

Console.WriteLine(num); // 11

public class Taco
{
    public static void Ref_Test(ref int a)
    {
        a++;
    }
}

 

 

결론

ref 키워드를 사용하면 원본 데이터를 복사하는 것이 아닌 참조 할 수 있게 해준다. 참조 상태의 변수는 값이 변경되면 원본도 변경 되어 버린다. 

'SW 기능 > C#' 카테고리의 다른 글

out  (0) 2024.02.20
Delegate  (0) 2024.02.14
typeof  (0) 2024.02.02
this  (0) 2024.02.02
Struct  (0) 2024.02.02