객체가 A 메서드를 호출해서 그 결과를 B 메서드에 매개변수로 전달하는데, 결과를 매개변수로 받는 B 메서드도 직접 A메서드를 호출 할 수 있을 땐 매개변수를 업애고 A 메서드를 B메서드가 호출하게 하자
int basePrice = _quantity * _temPrice;
discountLevel = getDiscountLevel();
double finalPrice = discountedPrice (basePrice, discountLevel);
위의 코드를 보면 getDiscountLevel() 함수를 내부적으로 호출 할수 있다. 이것을 내부적으로 discountedPrice에서 호출하도록 한다.
int basePrice = _quantity * _itemPrice;
doble finalPrice = discountedPrice (basePrice);
하지만 경우에 따라 값이 달라지는 함수의 경우 하지 않는 것이 좋다.
'Development > Programming' 카테고리의 다른 글
[Refactoring] 쓰기 메서드 제거 (0) | 2013.09.16 |
---|---|
[Refactoring] 매개변수 세트를 객체로 전환 (0) | 2013.09.16 |
[Refactoring] 객체를 통째로 전달 (0) | 2013.09.12 |
[Refactoring] 매개변수를 메서드로 전환 (0) | 2013.09.11 |
[Refactoring] 메서드를 매개변수로 전환 (0) | 2013.09.10 |