C# 선택적 매개 변수와 명명된 매개 변수.



 두 기능 모두 C#4.0부터 지원해주고 있는 기능입니다.

-
선택적 매개변수
 C++
에서의 디폴트 매개 변수와 같은 기능으로, 매개 변수를 필수 또는 선택 사항으로 지정할 수 있습니다.
호출 시 모든 필수 매개 변수에 대한 인수를 제공해야 하지만 선택적 매개 변수에 대한 인수는 생략할 수 있습니다.
이 때, 선택적 매개 변수에 대해서는 기본값을 필수적으로 제공해주고 있어야하며, 필수 매개 변수 다음으로 정의해야 합니다.

 선택적 매개 변수 지원 이전에는 다음과 같이 필요한 매개 변수에 따른 함수 오버로딩으로 정의해야 했는데.....


void Person(string name);

void Person(string name, int age);
void Person(string name, int age, string address);


 위의 코드를 선택적 매개 변수 기능으로 아래와 같이 수정 가능해졌습니다!

 

void Person(string name, int age = 0, string address = “None”);



-
명명된 매개 변수
호출된 메서드, 각 인수에 대한 매개 변수를 매개 변수 이름으로 지정할 수 있습니다.


 

Person(name: “승엽, address: 서울특별시, age: 25);


 위와 같이 각 인수에 대한 매개 변수를 매개 변수 이름으로 지정하여 사용할 수 있습니다.
각 인수가
 무엇을 나타내는지 식별할 수 있어 코드의 가독성을 향상시킬 수 있고, 임의의 순서로 인수를 보낼 수 있습니다.

 또한, 위의 Person의 선택적 매개 변수 중 address에만 인자를 보내고 싶을 경우에 다음과 같은 처리도 가능합니다.

 

Person(“민호, address: 경기도);








참 고 : https://docs.microsoft.com/ko-kr/dotnet/csharp/programming-guide/classes-and-structs/named-and-optional-arguments

+ Recent posts