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