더북(TheBook)

명명된 매개변수를 사용하여 메서드 오버로드 구현하기

선택적 인수와 명명된 인수를 사용하면 메서드 하나로 여러 개를 오버로드한 효과를 가질 수 있습니다. 다음 내용을 입력한 후 실행해 보세요.

> public class Messenger
. {
.     public void PrintMessage(string message, string prefix = "", string suffix = "")
.     {
.         Console.WriteLine($"{prefix}{message}{suffix}");
.     }
. }
>
> Messenger messenger = new Messenger();
> messenger.PrintMessage("My"); //ⓐ
My
> messenger.PrintMessage(prefix: "Oh ", message: "My"); //ⓑ
Oh My
> messenger.PrintMessage(prefix: "Oh ", message: "My ", suffix: "God"); //ⓒ
Oh My God

Messenger 클래스에는 하나의 PrintMessage() 메서드만 있지만, 호출하는 입장에서는 ⓐ, ⓑ, ⓒ 코드 형태처럼 서로 1~3개의 매개변수에 값을 전달할 수 있습니다. 메서드 오버로드를 따로 구현하지 않고 메서드 하나로 구현한 형태입니다.

메서드는 클래스의 구성 요소 중에서 가장 많이 사용합니다. 메서드는 매개변수를 사용하여 그 능력을 더 향상시킬 수 있습니다. 메서드 사용법은 이 정도로 정리하고 다음 강의에서 속성을 학습해 나가겠습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.