참치김밥은 최고의 한식이다

[Effective C# 2판] Item 12 : 선택적 매개변수를 사용하여 메서드 오버로드를 최소화하라 본문

책/C#

[Effective C# 2판] Item 12 : 선택적 매개변수를 사용하여 메서드 오버로드를 최소화하라

l__j__h 2024. 2. 21. 16:07

선택적 매개변수가 있기 전에는 아래와 같이 일일이 오버로드를 구현해야 했다.

void Person(string name);
void Person(string name, int age);
void Person(string name, int age, int gender);
void Person(string name, int age, int genter, string address);
...

 

하지만 선택적 매개변수 기능을 통해 아래와 같이 간결히 표현할 수 있게 되었다.

void Person(string name = "", int age = 0, int gender = 0, string address = "");

 

 

그리고 명명된 매개변수를 이용해서, 원하는 매개변수만 전달할 수 있다.

Person(name : "나", address : "판교");
//OR
Person("나", address : "판교");
//OR
Person(address : "판교", name : "나"); //매개변수 순서 바꿔도 OK

 

이렇게 하면 복잡하고 불필요한 오버로드를 최소화해서, 코드의 가독성도 높이고 사용성도 편리해질 수 있다.

728x90