선택적 매개변수와 명명된 매개변수
C# 4.0 버전에서 처음 도입된 개념인 선택적 매개변수와 명명된 매개변수(named argument 또는 named parameter)는 함수를 편리하게 호출할 수 있게 합니다. 매개변수는 인수로 혼용해서 부르기도 합니다. 이번에는 옵셔널 매개변수를 살펴보겠습니다.
> static int Sum(int first = 10, int second = 20) . { . return first + second; . } > Console.WriteLine(Sum(3, 5)); //① 3 + 5 8 > > //선택적 매개변수 > Console.WriteLine(Sum()); //② 10 + 20 30 > Console.WriteLine(Sum(40)); //③ 40 + 20 60 > Console.WriteLine(Sum(100, 200)); //④ 100 + 200 300 > > //명명된 매개변수 > Console.WriteLine(Sum(first: 5, second: 4)); //⑤ 5 + 4 9 > Console.WriteLine(Sum(second: 3, first: 2)); //⑥ 2 + 3 5 > Console.WriteLine(Sum(second: 50)); //⑦ 10 + 50 60
①과 ④는 메서드 호출의 기본값입니다.
②는 선택적 인수를 사용하여 매개변수를 전달하지 않을 경우 기본값을 사용합니다.
③은 매개변수를 하나만 전달할 경우 나머지는 기본값을 사용합니다.
⑤와 ⑥처럼 매개변수 이름과 콜론(:) 기호를 사용하여 매개변수에 값을 직접 할당할 수 있고, 호출 위치도 변경할 수 있습니다.
⑦은 명명된 인수와 선택적 인수를 함께 사용한 형태입니다.