[c#] 메서드의 기본 매개변수
C#에서는 메서드에 기본 매개변수를 설정하여 해당 매개변수에 인수가 전달되지 않을 경우 기본값을 사용할 수 있습니다. 이는 메서드 호출시 사용자가 인수를 전달하지 않아도 됨으로써 코드를 단순화하고 유연성을 높일 수 있습니다.
다음은 기본 매개변수를 사용하여 메서드를 정의하는 형태입니다.
public void PrintMessage(string message = "Hello, world!")
{
Console.WriteLine(message);
}
위의 코드에서 PrintMessage
메서드는 message
매개변수에 기본값으로 “Hello, world!”를 사용하도록 설정되어 있습니다. 이렇게 하면 PrintMessage
를 호출할 때 message
매개변수를 생략하면 “Hello, world!”가 출력됩니다. 예를 들어,
PrintMessage(); // "Hello, world!" 출력
PrintMessage("Goodbye!"); // "Goodbye!" 출력
메서드의 기본 매개변수를 정의할 때는 해당 매개변수가 반드시 매개변수 목록의 끝에 와야 하며, 중간에 다른 매개변수들이 올 수 없습니다.
기본 매개변수 주의사항
메서드의 기본 매개변수를 사용할 때 주의할 점이 몇 가지 있습니다.
- 기본 매개변수는 오버로드되지 않은 매개변수를 대체합니다. 즉, 동일한 시그니처를 가진 오버로드 메서드가 있는 경우 기본 매개변수는 해당 오버로드 메서드 호출 시 사용되지 않습니다.
- 기본 매개변수의 값은 컴파일 시점에 할당되므로 동적인 값을 사용할 수 없습니다.
- 기본 매개변수는 포화시키지 않는 방향으로 사용하는 것이 좋습니다. 포화시키는 것은 인수 목록을 오해하거나 버그를 발생시킬 수 있습니다.
C#의 메서드에서 기본 매개변수를 사용함으로써 코드의 가독성을 향상시키고 생산성을 높일 수 있습니다.
참고 문헌:
- Microsoft 문서: https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/named-and-optional-arguments#default-parameters