Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C#에서 가변 인수(Varargs) 사용하기: params 키워드 완벽 가이드

C#에서는 params 키워드를 사용하여 메서드에 가변 개수의 인수를 전달할 수 있습니다. 이 기능을 활용하면 호출 시점에 전달할 인수의 개수를 자유롭게 정할 수 있어 코드의 유연성이 크게 향상됩니다.

params 키워드란?

params 키워드는 메서드 매개변수 선언 시 사용하며, 해당 매개변수가 동일한 타입의 인수를 임의의 개수만큼 받을 수 있음을 의미합니다. 컴파일러는 전달된 값들을 자동으로 배열로 변환해 줍니다.

정수들을 곱하는 메서드를 예로 들어 보겠습니다. params 키워드를 사용하면 int 값을 몇 개든 받을 수 있습니다.

static int Multiply(params int[] b)

위와 같이 선언하면 하나의 int 값으로도, 두 개의 int 값으로도 곱셈 결과를 구할 수 있습니다. 아래와 같이 같은 함수를 서로 다른 개수의 값으로 호출할 수 있습니다.

int mulVal1 = Multiply(5);
int mulVal2 = Multiply(5, 10);

전체 예제 코드

다음은 C#에서 가변 인수가 실제로 어떻게 작동하는지 확인할 수 있는 완전한 코드입니다.

using System;

class Program {
    static void Main() {
        int mulVal1 = Multiply(5);
        int mulVal2 = Multiply(5, 10);

        Console.WriteLine(mulVal1);
        Console.WriteLine(mulVal2);
    }

    static int Multiply(params int[] b) {
        int mul = 1;
        foreach (int a in b) {
            mul = mul * a;
        }
        return mul;
    }
}

실행 결과는 다음과 같습니다.

5
50

params 사용 시 주의사항

params 키워드를 사용할 때는 몇 가지 규칙을 기억해야 합니다.

  • 메서드 하나에는 params 매개변수를 하나만 선언할 수 있습니다.
  • params 매개변수는 반드시 매개변수 목록의 마지막에 위치해야 합니다.
  • 가변 인수를 전혀 전달하지 않으면 해당 매개변수는 빈 배열로 처리됩니다.

이처럼 params 키워드를 활용하면 오버로드 메서드를 여러 개 작성하지 않고도 다양한 개수의 인수를 처리할 수 있는 유연한 메서드를 손쉽게 만들 수 있습니다.