C#/코드의 흐름제어
[C#]오버로딩, 선택적 매개변수
과아아앙
2021. 4. 7. 11:39
오버로딩
- 함수의 이름을 재사용
- 확인하는 것은 주어진 매개변수의 개수와 형.으로 이것들이 서로 다르면 같은 함수 이름이더라도 사용 가능하다.
using System;
namespace CSharp
{
class Program
{
// 함수 이름의 재사용
static int Add(int a, int b)
{
Console.WriteLine("Add int 호출");
return a + b;
}
static int Add(int a, int b, int c)
{
Console.WriteLine("Add int 호출");
return a + b + c;
}
static float Add(float a, float b)
{
Console.WriteLine("Add float 호출");
return a + b;
}
static void Main(string[] args)
{
int ret = Program.Add(2, 3);
float ret2 = Program.Add(2.0f, 3.0f);
//Console.WriteLine(ret);
}
}
}
// 함수의 이름이 같아도 주어지는 매개변수의 개수나 형식이 다르면 사용할 수 있다.
선택적 매개변수
함수에 매개변수를 받을 때, 필수적으로 받아야하는 인자 이외에 값들에 기본값을 지정해준 후
필요할 때에만 값을 넣어주면 된다.
using System;
namespace CSharp
{
class Program
{
// 함수 이름의 재사용
static int Add(int a, int b)
{
Console.WriteLine("Add int 호출");
return a + b;
}
static int Add(int a, int b, int c = 0, float d = 1.0f, double e = 3.0)
{
Console.WriteLine("Add int 호출");
return a + b + c;
}
static float Add(float a, float b)
{
Console.WriteLine("Add float 호출");
return a + b;
}
static void Main(string[] args)
{
Program.Add(1, 2, d: 2.0f);
//Console.WriteLine(ret);
}
}
}