[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 키워드를 통해 메서드 내에서 값이 변경되어 호출자에게 영향을 주는 경우에 유용하게 사용할 수 있습니다.

입출력 매개변수를 사용함으로써 메서드 간 데이터 전달이 용이해지고, 코드의 가독성과 재사용성을 높일 수 있습니다.

참고 문헌: