[c#] 메서드의 입출력 매개변수
C#에서 메서드의 매개변수는 기본적으로 호출 시에 값을 전달하는 용도로 사용됩니다. 하지만 때로는 메서드 내부에서 매개변수의 값을 변경하여 호출자에게 영향을 미치는 경우가 있습니다. 이러한 경우를 위해 C#에서는 입출력 매개변수를 사용할 수 있습니다.
입출력 (ref) 매개변수
입출력 매개변수는 메서드 호출 시에 값을 전달할 뿐만 아니라 해당 메서드 내에서 값을 변경할 수 있는 매개변수입니다. 이를 위해 매개변수 앞에 ref
키워드를 추가하여 선언합니다.
예를 들어, 다음과 같이 메서드를 정의할 수 있습니다.
public void ModifyValue(ref int value)
{
value = value * 2;
}
위의 예제에서 ModifyValue
메서드는 value
매개변수를 ref
키워드로 선언하여 값을 변경할 수 있습니다.
입출력 매개변수는 메서드 내에서 값을 변경한 후, 호출자에게 변경된 값을 반환합니다.
사용 예제
다음은 입출력 매개변수를 사용하는 예제입니다.
int number = 10;
ModifyValue(ref number);
Console.WriteLine(number); // 출력 결과: 20
위의 예제에서 number
의 초기값은 10이지만, ModifyValue
메서드를 통해 값이 변경되어 20으로 출력됩니다.
이와 같이 ref
키워드를 통해 메서드 내에서 값이 변경되어 호출자에게 영향을 주는 경우에 유용하게 사용할 수 있습니다.
입출력 매개변수를 사용함으로써 메서드 간 데이터 전달이 용이해지고, 코드의 가독성과 재사용성을 높일 수 있습니다.
참고 문헌:
- Microsoft 문서: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/ref