*메소드의 인수에 기본값을 설정하거나 메소드 호출 시에 인수의 이름을 지정할 수 있다.
선택적 인수의 설정과 호출
선택적 인수 기능을 사용하면, 메소드의 인수에 기본값을 설정할 수 있다.
*메소드의정의
double CalcCircle(int rad = 1, double pi = 3.14)
{
return rad*rad*pi;
}
*색깔 친 두 부분이 선택적 인수이다.(기본값을 설정한다)
선택적 인수를 생략하고 호출할 수 있다.
*호출
void Output()
{
double area;
area = CalcCircle(); <-- CalcCircle(1, 3.14); 와 같다.
area = CalcCircle(10); <-- CalcCircle(10, 3.14); 와 같다.
area = CalcCircle(20, 3.14159); <-- CalcCircle(20, 3.14159)와 같다.
...
**대부분 매번 같은 값을 취하지만, 가끔 변경하고 싶을 때 선택적 인수를 사용하면 편리하다.
*설정할 때 주의사항
선택적 인수를 이용할 때, 기본값을 모든 인수에 설정할 필요는 없다.
double CalcCircle(int rad, double pi = 3.14) // (색깔 친부분) 두 번째 인수에만 기본값을 설정
...
하지만, 첫 번째 인수에만 기본갑슬 설정할 수는 없다. 인수에 기본값을 설정할 때는
맨 끝에서부터 차례로 설정해야 한다.
double CalcCircle(int rad = 1, double pi) //컴파일 에러가 난다.
(색깔 친부분) 마지막인수를 건너뛰고 기본값을 설정함
-인수의 형을 바꾸거나 메소드 내의 처리를 바꾸고 싶을 때는 오버로드를 사용해야 한다.
망명된 인수
메소드를 호출할 때 인수의 이름을 붙여서 호출할 수 있다. 예를 들어 왼쪽 페이지의 CalcCircle메소드를 호출할 경우,
인수의 변수명 뒤에 : 를 붙여서 다음과 같이 지정한다.
void Output()
{
double area;
area = CalcCircle(pi : 3.14159); // 특정 인수만 지정할 수 있다. / CalcCircle(1, 3.14159);와 같다.
area = CalcCircle(pi : 3.14159, rad:20); // 인수의 순서를 바꿀 수 있다. / CalcCircle(20, 3.14159); 와 같다.
...
'프로그래머 > 코딩(C#)개념정리' 카테고리의 다른 글
C#_클래스_생성자 (2) | 2023.03.24 |
---|---|
C#_클래스_public과 private (6) | 2023.03.23 |
C#_클래스_오버로드 (4) | 2023.03.21 |
C#_클래스_메소드의 호출_3 (2) | 2023.03.12 |
C#_클래스_메소드의 호출_2 (22) | 2023.03.06 |