더북(TheBook)

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으로 받습니다. 이처럼 넘겨주는 매개변수에 해당하는 함수를 자동으로 호출합니다.

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