이번 주차에서는 공부의 이해를 위해서 메소드(함수)를 먼저 공부한다.
기본 개념 정리
메소드 = c언어에서 함수
이때 메소드 오버로딩 및 시그니처가 나옴
메소드 시그니처(메소드 이름 및 매개변수) , 메소드 오버로딩은 메소드 명은 같지만, 매개변수가 다른 메소드를 여러 개 정의하는 것
즉 메소드 명이 같아도 시그니처가 다르면 다른 메소드로 구분

실습 코드 1
class Program
{
static void Main(string[] args)
{
double radius = 4, area = 0;
area = CircleArea(radius);
Console.WriteLine(area);
}
static double CircleArea(double radius)
{
const double PI = 3.14;
return PI * radius * radius;
}
}

실습 코드 2
class Program
{
static void Main(string[] args)
{
int x = 10, y = 20, rslt1, rslt2;
Sum(x, y, out rslt1, out rslt2);
Console.WriteLine(rslt1 + " " + rslt2);
}
static void Sum(in int a, in int b, out int rslt1, out int rslt2)
{
rslt1 = a + b;
rslt2 = a * b;
}
}

실습 코드 3
class Program
{
static void Main(string[] args)
{
int num1, num2;
num1 = ChangeNum1('5','4');
num2 = ChangeNum2(one:'5',ten:'4');
Console.WriteLine(num1);
Console.WriteLine(num2);
}
static int ChangeNum1(char ten, char one)
{
int nmbr1;
nmbr1 = (10 * int.Parse(ten.ToString())+(int)char.GetNumericValue(one));
return nmbr1;
}
static int ChangeNum2(char ten, char one)
{
int nmbr2;
nmbr2 = 10 * (int)char.GetNumericValue(ten) + int.Parse(one.ToString());
return nmbr2;
}
}

실습 코드 4
선택적 매개변수를 사용했을 경우 예제
class Program
{
static void Main(string[] args)
{
int num1, num2, num3;
num2 = ChangeNum2(1,2); //선택적 매개 변수를 사용했을 경우
num3 = ChangeNum2(1, 2, 20);
Console.WriteLine(num2);
Console.WriteLine(num3);
}
static int ChangeNum2(int a, int b, int relt = 10)
{
int abc;
abc = (a + b) * relt;
return abc;
}
}

실습 코드 5
가변적 매개변수를 적용하여 매개변수의 전달 시 배열로 전달된다.