명명된 매개변수를 사용하여 메서드 오버로드 구현하기
선택적 인수와 명명된 인수를 사용하면 메서드 하나로 여러 개를 오버로드한 효과를 가질 수 있습니다. 다음 내용을 입력한 후 실행해 보세요.
> 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개의 매개변수에 값을 전달할 수 있습니다. 메서드 오버로드를 따로 구현하지 않고 메서드 하나로 구현한 형태입니다.
메서드는 클래스의 구성 요소 중에서 가장 많이 사용합니다. 메서드는 매개변수를 사용하여 그 능력을 더 향상시킬 수 있습니다. 메서드 사용법은 이 정도로 정리하고 다음 강의에서 속성을 학습해 나가겠습니다.