서로 다른 매개변수를 갖는 함수 오버로드

    이번에는 함수 오버로드 중 서로 다른 매개변수의 데이터 형식을 사용하는 예제를 살펴보겠습니다. 다음 내용을 입력한 후 실행해 보세요.

    서로 다른 매개변수를 갖는 함수 오버로드: 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) 형태처럼 없는 함수를 호출하면 에러가 발생합니다.

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