■ 메서드(Method)란?
- 일련의 작업을 하나로 묶은 명령문의 집합
- 중복 코드 제거, 가독성 향상
■ 메서드 기본 형태 :
- 입력 X(매개변수), 출력 X(반환 값)
- 입력 X(매개변수), 출력 O(반환 값)
- 입력 O(매개변수), 출력 X(반환 값)
- 입력 O(매개변수), 출력 O(반환 값)
■ Example
static void Main(string[] args)
{
Test01();
int A = Test02();
Console.WriteLine($"Main : Test02의 반환 값은 {A} 입니다.");
Console.WriteLine();
Test03(20);
int B = Test04(2, 3);
Console.WriteLine($"Main : Test04의 반환 값은 {B} 입니다.");
}
static void Test01()
{
Console.WriteLine("Test01 : 매개변수X, 반환X 형태의 Method 입니다.");
Console.WriteLine();
}
static int Test02()
{
Console.WriteLine("Test02 : 매개변수X, 반환O 형태의 Method 입니다.");
return 10;
}
static void Test03(int num)
{
Console.WriteLine("Test03 : 매개변수O, 반환X 형태의 Method 입니다.");
Console.WriteLine($"Test03 : 매개변수는 {num}입니다.");
Console.WriteLine();
}
static int Test04(int a, int b)
{
Console.WriteLine("Test04 : 매개변수O, 반환O 형태의 Method 입니다.");
Console.WriteLine($"Test04 : 매개변수는 {a}, {b} 입니다.");
return a + b;
}
■ 매개변수 기본값 :
- 매개변수가 정의된 Method에서 호출할 때 매개변수를 입력하지 않으면 기본값이 할당
반환DataType 메서드이름(매개변수 = 기본값) { ... 작업 내용 ... } |
■ Example
static void Main(string[] args)
{
Test05();
Test05(100, "Memoo");
}
static void Test05(int num = 10, string str = "Unknown")
{
Console.WriteLine($"Test05 : num = {num}, str = {str} 입니다.");
}
■ 가변 길이 매개변수 :
- 입력할 매개변수 개수가 고정적이지 않을 때, 가변적을 입력 가능
- params 키워드 사용
반환DataType 메서드이름(params 매개변수) { ... 작업 내용 ... } |
■ Example
static void Main(string[] args)
{
Test06(1, 2, 3, 4, 5);
Test06(10, 20);
}
static void Test06(params int[] numbers)
{
foreach(int number in numbers)
{
Console.Write($"{number} ");
}
Console.WriteLine();
}
■ 오버로딩(Overloading) :
- 하나의 method 이름으로 여러 형태의 구현
- 매개변수의 개수 혹은 DataType이 달라야 함
반환DataType TestMedhod(int num) { ... 작업 내용 ... } 반환DataType TestMedhod(string str) { ... 작업 내용 ... } |
■ Example
static void Main(string[] args)
{
Test07(10);
Test07(3.14);
}
static void Test07(int num)
{
Console.WriteLine($"Test07 : int type = {num}");
}
static void Test07(double num)
{
Console.WriteLine($"Test07 : double type = {num}");
}
'개인공부 > C#' 카테고리의 다른 글
[C#] 클래스(Class) (0) | 2022.09.01 |
---|---|
[C#] Call by Value, Call by Reference (0) | 2022.08.31 |
[C#] 흐름제어-점프문(Jump Statement) (0) | 2022.08.30 |
[C#] 흐름제어-반복문(Repetitive Statement) (0) | 2022.08.29 |
[C#] 흐름제어-조건문(Conditional statement) (0) | 2022.08.28 |