C# 오버로딩에 대해
오버로딩(Overloading)이란 같은 이름의 함수를 여러개 만들되 각 함수의 매개변수 개수나 타입(자료형)을 다르게 정의하여 하나의 이름으로 다양한 기능을 수행 하도록 하는 방법이다.
핵심 특징
- 함수 이름은 동일하다.
- 매개변수가 달라야한다 : 매개변수의
개수,순서 또는 자료형이 달라야 한다.
- 반환타입 은 상관없다. 반환 타입만 다른것은 오버로딩으로 인식되지 않는다.
1) 함수 오버로딩 예제
static int Add(int a, int b)
{
return a + b;
}
static float Add(float a, float b)
{
return a + b;
}
static double Add(double a, double b)
{
return a + b;
}
static void Main(string[] args)
{
int result = Add(2, 3);
float result2 = Add(2.0f, 3.5f);
double result3 = Add(3d, 5d);
Console.WriteLine(result);
Console.WriteLine(result2);
Console.WriteLine(result3);
}
- 위의 예제를 보면 함수 명은 전부 동일한데
반환 타입과 매개변수를 변경해서 다 다른 각 각의 함수들이 다 다른 역할을 하도록 만들수 있는걸 알 수 있다.
- 이런식으로 같은 이름의 함수 이지만
반환타입과 매개변수를 다른 타입, 다른 갯수로 만들어서 활용하면 하나의 함수 이름으로 다른 역할을 하는 함수들을 만들 수 있다.