본문 바로가기
Program Language/C#

Part2. C# 기초 다지기(14. params 키워드)

by 토담이아빠 2023. 3. 11.

params  키워드

 

C#에서 메서드는 다양한 인수를 처리할 수 있는 기능을 제공합니다. 그러나 일반적으로 메서드에서 처리해야 할 인수의 개수를 예측하기  어려운 경우가 많습니다. 이런 상황에서 params 키워드를 사용하면 메서드가 임의 개수의 인수를 처리할 수 있도록 만들어 줍니다. 이번 포스팅에서는 params 키워드의 개념과 사용 방법에 대해 정리했습니다.


params 키워드

 

params 키워드는 메서드에서 가변 인자 목록을 처리할 때 사용됩니다. 이 키워드를 이용하면 메서드가 임의 개수의 인수를 허용하도록 만들 수 있습니다. 즉, 메서드 호출 시 인수의 개수를 동적으로 결정할 수 있습니다.

 

params 키워드는 다음과 같은 형식으로 사용됩니다.


public void Method(params TypeName[] paramName)
{
    // 메서드 본문
}

params 키워드 뒤에는 추가 매개 변수를 허용하지 않습니다. params 키워드 하나만 메서드 선언에 사용할 수 있으며, params 매개 변수의 형식은 1차원 배열이어야 합니다.

 

사용 예제

 

다음은 params 키워드를 사용한 예제입니다.


using System.Text;

class Program
{
    public static int Sum(params int[] numbers)
    {
        int sum = 0;
        foreach(int number in numbers)
        {
            sum += number;
        }
        return sum;
    }

    public static string Concat(params string[] strings)
    {
        StringBuilder sb = new StringBuilder();
        foreach(string str in strings)
        {
            sb.Append(str);
        }
        return sb.ToString();
    }

    static void Main(string[] args)
    {
        int sum1 = Sum(1, 2, 3); 
        int sum2 = Sum(4, 5, 6, 7, 8); 
        int sum3 = Sum(1, 2);

        string result1 = Concat("안녕하세요. ", "반갑습니다!");
        string result2 = Concat("토끼 ", "강아지 ", "고양이");
        string result3 = Concat();

        Console.WriteLine(sum1);
        Console.WriteLine(sum2);
        Console.WriteLine(sum3);

        Console.WriteLine(result1);
        Console.WriteLine(result2);
        Console.WriteLine(result3);

    }
}
[결과]

6
30
3
안녕하세요. 반갑습니다!
토끼 강아지 고양이

Sum 메서드는 임의의 int형 인수들을 입력으로 받아서 인수들의 합을 반환하고, Concat 메서드는 임의의 문자열들을 입력받아 합친 결과를 반환합니다. Main 함수에서는 이 둘을 사용하여 다양한 인수들을 받아서 처리하고 있습니다.

 

이처럼 params 키워드를 사용하면 인수의 개수에 제한을 받지 않기 때문에 좀 더 유연한 방법으로 코드를 작성할 수 있기 때문에 매우 편리합니다.


 

댓글