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

C# 매개변수 배열(params)이란? 개념부터 예제까지 완벽 정리

C#의 매개변수 배열(params array)은 메서드를 선언하는 시점에 전달될 인수(argument)의 개수를 정확히 알 수 없을 때 매우 유용한 기능입니다. params 키워드를 사용하면 가변 개수의 인수를 하나의 배열로 받아 손쉽게 처리할 수 있습니다.

params 키워드 기본 문법

다음은 params 키워드를 사용하는 기본적인 문법입니다.

public int function_name(params int[] variable_name) {}

params 키워드가 붙은 배열 매개변수는 메서드 호출 시 여러 개의 값을 쉼표로 구분해 전달할 수 있으며, 컴파일러가 이를 자동으로 배열로 변환해 줍니다.

params 사용 시 주요 규칙

  • params로 선언된 매개변수는 반드시 매개변수 목록의 마지막에 위치해야 합니다.
  • 하나의 메서드에는 params 매개변수를 하나만 선언할 수 있습니다.
  • 호출 시 인수를 아예 전달하지 않거나, 배열 자체를 직접 넘기는 것도 가능합니다.

예제

다음 예제는 params 배열을 활용해 전달된 모든 정수의 합계를 계산하는 프로그램입니다.

using System;

namespace Program {
    class ParamArray {
        public int AddElements(params int[] arr) {
            int sum = 0;

            foreach (int i in arr) {
                sum += i;
            }
            return sum;
        }
    }

    class Demo {
        static void Main(string[] args) {
            ParamArray app = new ParamArray();
            int sum = app.AddElements(300, 250, 350, 600, 120);

            Console.WriteLine("The sum is: {0}", sum);
            Console.ReadKey();
        }
    }
}

출력 결과

The sum is: 1620

위 코드에서 AddElements 메서드는 params int[] arr 형태로 선언되어 있기 때문에, 호출자는 몇 개의 정수든 자유롭게 전달할 수 있습니다. 이처럼 params 배열을 활용하면 인수 개수별로 메서드 오버로드를 일일이 만들 필요 없이, 유연하고 간결하게 가변 인수를 처리할 수 있습니다.