728x90
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 호출2");
return a + b + c;
}
//두 번째 모델 : 매개변수 자료형을 바꾸는 것으로 오버로딩을 할 수 있다.
static float Add(float a, float b)
{
Console.WriteLine("Add float 호출3");
return a + b;
}
//세 번째 모델 : 선택적 매개변수(매개변수를 선언하면서 동시에 정의한 매개변수를 넣는 것)
//이 모델은 오버로딩이 안되므로, 단독으로 쓰자.
static int Add100(int a, int b, int c, int d = 100)
{
Console.WriteLine("Add int 호출4");
return a + b + c + d;
}
static void Main(string[] args)
{
int ret = Add(2, 3);
int ret2 = Add(1, 2, 3);
float ret3 = Add(2.0f, 3.0f);
int ret4 = Add100(1, 2, 3);
Console.WriteLine(ret);
Console.WriteLine(ret2);
Console.WriteLine(ret3);
Console.WriteLine(ret4);
}
}
}
728x90
'● > 섹션 2. 코드의 흐름 제어' 카테고리의 다른 글
11.연습문제 (0) | 2021.07.11 |
---|---|
09. ref, out (0) | 2021.07.10 |
08. 함수(ref) (0) | 2021.07.10 |
07.break, continue(흐름 제어) (0) | 2021.07.10 |
06. for (0) | 2021.07.10 |