Programing/C#

C# 프로그래밍의 기초: 선택적 매개변수와 명명된 매개변수

유니얼 2024. 8. 24. 14:15
728x90

C#에서 메서드를 설계하고 호출하는 과정은 매우 중요합니다. 특히, 선택적 매개변수와 명명된 매개변수를 활용하면 메서드 호출의 유연성을 대폭 높일 수 있습니다. 이 블로그 포스트에서는 선택적 매개변수와 명명된 매개변수의 개념을 소개하고, 각각의 사용법과 장점에 대해 설명하겠습니다.

선택적 매개변수 (Optional Parameters)

1. 선택적 매개변수란?

선택적 매개변수는 메서드 호출 시 꼭 필요하지 않은 경우, 기본값을 가지고 정의된 매개변수입니다. 호출자는 이 매개변수를 생략할 수 있으며, 생략된 경우 메서드 정의에 지정된 기본값이 사용됩니다. 선택적 매개변수는 주로 메서드 매개변수 목록의 끝부분에 위치해야 합니다.

예제 코드:

public void PrintMessage(string message = "Default Message")
{
    Console.WriteLine(message);
}

위 메서드에서 message 매개변수는 기본값 "Default Message"를 가지므로, 메서드를 호출할 때 message 매개변수를 생략할 수 있습니다.

사용법:

PrintMessage();  // 출력: Default Message
PrintMessage("Hello, World!");  // 출력: Hello, World!

명명된 매개변수 (Named Parameters)

2. 명명된 매개변수란?

명명된 매개변수는 호출 시 매개변수의 순서에 구애받지 않고, 매개변수의 이름을 명시적으로 지정하여 값을 전달할 수 있습니다. 이 기능은 특히 메서드가 많은 매개변수를 가지고 있을 때, 특정 매개변수만을 명확하게 지정하고 싶을 때 유용합니다.

예제 코드:

public void PrintUserInfo(string name, int age = 0, string country = "Unknown")
{
    Console.WriteLine($"Name: {name}, Age: {age}, Country: {country}");
}

사용법:

PrintUserInfo(name: "Alice", country: "USA", age: 30);  // 출력: Name: Alice, Age: 30, Country: USA
PrintUserInfo(country: "Germany", name: "Bob");  // 출력: Name: Bob, Age: 0, Country: Germany

전체예제 코드

using System;
using System.Text;
using System.ComponentModel;
using System.Reflection.Metadata.Ecma335;
using System.Text.RegularExpressions;
namespace ProgramClass
{
    class Program
    {
        public static void PrintMessage(string message = "Default Message")
        {
            Console.WriteLine(message);
        }

        public static void PrintUserInfo(string name, int age = 0, string country = "Unknown")
        {
            Console.WriteLine($"Name: {name}, Age: {age}, Country: {country}");
        }

        static void Main(string[] args)
        {
            // 선택적 매개변수를 사용하여 메서드 호출
            PrintMessage();
            PrintMessage("Custom Message");

            // 명명된 매개변수를 사용하여 메서드 호출
            PrintUserInfo(name: "Alice", age: 25, country: "USA");
            PrintUserInfo(name: "Bob", country: "UK");
            PrintUserInfo("Charlie");  // 명명된 매개변수 없이 호출
        }
    }
}

결론

선택적 매개변수와 명명된 매개변수는 C#에서 메서드를 더 효과적으로 사용할 수 있게 하는 기능입니다. 이들을 적절히 활용하면 코드의 가독성을 높이고, 오버로딩의 필요성을 줄이며, 코드의 유지 보수를 용이하게 할 수 있습니다.

반응형