ITEM 10 : 메소드 Overload를 최소화 하기 위해서 Optional Parameter를 사용하라

|

ITEM 10 : Use Optional Parameters to Minimize Method Overloads.

             (메소드 Overload를 최소화 하기 위해서 Optional Parameter를 사용하라)



■ 요약 및 장점


1.      Optional Parameter를 사용하면 호출하는 쪽에서 의미 없는 값을 넘길필요가 없게된다

       함수에서 기본값들을 설정해서 처리한다. 이렇게 함으로써, 호출부의 가독성을 향상시키고  

      불필요한 변수들을 넘길 필요가 없으므로  속도도 향상된다.

//Optional Parameter가 사용된 함수
private string Proceduer1(string name,bool type=false)
{
  //생략..

}

//사용, 같은 결과를 리턴한다.
Proceduer1("홍길동");
Proceduer1("홍길동",false);

  

2.      Named Parameter를 이용하면 호출부의 가독성이 증가가 되지만, 그 함수가 속한 Component에서 

       파라미터명이 변경되었을 때 재빌드를 할 경우 오류가 발생한다.


3.      함수에 새로운 파라미터를 추가 할때에 기존에 호출부에서는 재빌드를 해서 값을 넘겨주지 않으면 오류가 발생한다

       이런경우를 대비해서 Optional Parameter를 이용해서 기본값을 설정해서 확장할 때 기존의 참조를 유효하게 처리해야한다.


■ Terms


1.      named parameter : 함수를 호출할 때 파라미터의 이름과 함께 데이터를 넘기는것,

       Object-C에서 [window addNewControlWithTitle:@”title” xPosition:20 yPostion:30] 이렇게 사용된다.

       C#에서는 보통 데이터만 전달된다. 최근에는 named parameter를 지원한다.(.NET 4.0)


■ 해석이 모호하거나 중요한 구문



■ 단어


1.      clutter : 채우다

2.      annotate : 주석달다

3.      manifest : 나타내다/나타나다,분명해지다.


■ 피드백


     -위의 일반적인 경우외에도 함수 오버로딩(Overloding)이 필요할때, Optional Parameter로 해결될 수 있으면, Optional Parameter를 이용하자.

      

And