서로 다른 매개변수를 갖는 함수 오버로드
이번에는 함수 오버로드 중 서로 다른 매개변수의 데이터 형식을 사용하는 예제를 살펴보겠습니다. 다음 내용을 입력한 후 실행해 보세요.
서로 다른 매개변수를 갖는 함수 오버로드: FunctionOverload.cs
using System; class FunctionOverload { static void Multi() { Console.WriteLine("안녕하세요."); } static void Multi(string message) { Console.WriteLine(message); } static void Multi(string message, int count) { for (int i = 0; i < count; i++) { Console.WriteLine("{0}", message); } } static void Main() { Multi(); Multi("반갑습니다."); Multi("또 만나요.", 3); } }
실행 결과
안녕하세요. 반갑습니다. 또 만나요. 또 만나요. 또 만나요.
함수를 호출할 때는 함수 호출 형태에 따라 그와 동일한 메서드 시그니처를 갖는 함수를 찾아서 실행합니다.
• Multi() => Multi() 함수 호출
• Multi("반갑습니다.") => Multi(string message) 함수 호출
• Multi("또 만나요.", 3) => Multi(string message, int count) 함수 호출
Multi(1234) 형태처럼 없는 함수를 호출하면 에러가 발생합니다.