19.10 함수 오버로드: 다중 정의

    클래스 하나에 매개변수를 달리해서 이름이 동일한 함수 여러 개를 정의할 수 있는데, 이를 함수 오버로드라고 합니다. 우리말로는 함수 ‘다중 정의’, 즉 여러 번 정의한다는 의미입니다.

     

    함수 오버로드 사용하기

    이번에는 함수 오버로드(다중 정의)를 사용해 보겠습니다. 다음 내용을 입력한 후 실행해 보세요.

    메서드(함수) 오버로드: MethodOverloadNumber.cs

    using System;
    
    class MethodOverloadNumber
    {
        static void GetNumber(int number) //GetNumber 함수: int 매개변수
        {
            Console.WriteLine($"Int32 : {number}");
        }
    
        static void GetNumber(long number) //GetNumber 함수: long 매개변수
        {
            Console.WriteLine($"Int64 : {number}");
        }
    
        static void Main()
        {
            GetNumber(1234);
            GetNumber(1234L);
        }
    }

    실행 결과

    Int32 : 1234
    Int64 : 1234

    GetNumber() 함수는 intlong 매개변수 중 하나를 받습니다. 매개변수로 넘어온 데이터가 1234이면 int로 받고, 1234L처럼 L 접미사를 사용하면 long으로 받습니다. 이처럼 넘겨주는 매개변수에 해당하는 함수를 자동으로 호출합니다.

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