[c#] 메서드의 인자에 대한 가변 매개변수
C#에서 메서드를 정의할 때, 가변 매개변수(Variable Arguments)를 사용하여 메서드에 임의의 개수의 인자를 전달할 수 있습니다. 가변 매개변수는 메서드 시그니처에 “params” 키워드를 사용하여 지정되며, 이를 통해 메서드를 정의할 때 메서드 호출 시 인자의 수를 동적으로 처리할 수 있습니다.
가변 매개변수 사용하기
가변 매개변수를 사용하는 방법은 간단합니다. 다음은 가변 매개변수를 사용하여 덧셈 연산을 수행하는 메서드의 예시입니다.
public int AddNumbers(params int[] numbers)
{
int sum = 0;
foreach (int num in numbers)
{
sum += num;
}
return sum;
}
위의 예시에서 params
키워드 뒤에 있는 int[]
은 가변 매개변수를 나타내며, 여기에 전달된 모든 값은 numbers
배열로 처리됩니다. 이제 가변 매개변수 AddNumbers
메서드를 호출할 때, 인자의 개수를 동적으로 지정할 수 있습니다.
가변 매개변수의 주의사항
가변 매개변수를 사용할 때 몇 가지 주의사항이 있습니다.
- 가변 매개변수는 하나만 사용할 수 있으며, 그것도 매개변수 리스트의 마지막에 위치해야 합니다.
- 가변 매개변수를 사용하는 메서드는 하나 이상의 매개변수를 가져야 합니다.
- 같은 메서드 시그니처에 대해 가변 매개변수를 포함한 메서드가 여러 개 존재할 경우 컴파일 오류가 발생합니다.
가변 매개변수의 활용
가변 매개변수는 메서드 호출 시 인자의 수가 정해지지 않았거나 다양하게 변할 수 있는 상황에서 유용하게 활용될 수 있습니다. 예를 들어, 메서드가 여러 개의 인자를 동적으로 처리해야 하는 경우나 라이브러리 또는 프레임워크에서 제공되는 메서드에서 다양한 인자를 받아 처리해야 하는 경우에 유용하게 사용될 수 있습니다.
이러한 활용을 통해, 메서드의 유연성을 향상시킬 수 있으며, 코드를 더 유지보수하기 쉽고 확장 가능하도록 만들 수 있습니다.
위에서 설명한 내용을 바탕으로, C#에서 가변 매개변수를 사용하여 메서드를 정의하고 활용하는 방법에 대해 알아보았습니다.
References:
- C# Documentation: params (C# Reference)
- C# in Depth by Jon Skeet, Manning Publications (Chapter 7)