[Csharp]함수 오버로딩
📚함수 오버로딩
함수 이름을 재사용하는 것을 오버로딩이라고 한다. 즉 같은 이름의 함수를 사용할 수 있다는 것이다. 하지만 같은 이름의 함수들의 매개변수는 서로 달라야 한다.
다만, 반환형식은 오버로딩에 영향을 주지 않는다. 예를 들어 이름과 매개변수가 같은 함수가 있는데 반환형만 다르다면 오버로딩되지 않는다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
namespace CSharp
{
class Program
{
static int Add(int a, int b)
{
Console.WriteLine("int Add 호출");
return a + b;
}
// 컴파일 에러(반환형은 함수 오버로딩에 영향을 주지 않는다.)
//static void Add(int a, int b)
//{
// Console.WriteLine("void Add 호출");
// a + b;
//}
static float Add(float a, float b)
{
Console.WriteLine("float Add 호출");
return a + b;
}
static void Main(string[] args)
{
int a = 1;
int b = 1;
float c = 3.14f;
float d = 2.17f;
Console.WriteLine(Add(a, b)); // int Add 호출
Console.WriteLine(Add(c, d)); // float Add 호출
}
}
}
Leave a comment