본문 바로가기

Development/Programming

[Refactoring] 메서드를 매개변수로 전환

기능은 비슷하지만 몇 가지 값에 따라 결과가 달라지는 메서드가 있을때 각 메서드를 전달된 매개변수에 따라 다른작업을 처리하는 하나의 메서드로 만들면 편리하다.


class Employee {


     void tenPercentRaise () {

salary *= 1.1;

}


void fivePercentRaise () {

salary *= 1.05;

}


}


위의 함수들을


void raise (double factor) {

salary *= (1 + factor);

}


이와 같이 고치면 된다.