C++ 리팩토링 Extract Method 하나의 그룹으로 묶어 분리할 수 있는 코드를 뽑아낸다. 코드가 작게 분리 될 수록 하위 클래스가 작은 메소드를 override하기 쉽다. 큰 메소드 하나는 하위 클래스가 전체 메소드를 재정의해야 함으로 작업량이 많아진다 void Owing::printOwing (double amount) { printBanner (); cout << "name : " << _name << endl; cout << "amount : " << amount << endl; } void Owing::printOwing (double amount) { printBanner (); printDetail(amount); } void Owing::printDetail(double amount) { cout << "name : " << _name << endl; cout << "amount : " << amount << endl; } Extract Function 코드 블록을 전역 함수 로 분리 멤버 변수를 액세스 하는 코드 블록은 적용할 수 없다 Inline Method Extract Method의 반대로 메소드가 하는 일이 명확하고 작을 때 메소드 호출을 삭제하고 코드를 붙여 넣는다. 리팩토링을 역행하므로 특별한 경우가 아니면 사용할 필요가 없다. 위음을 통해 메소드가 서로 연결된 경우 이것을 단순화 시키기 위해 사용할 수 있다. Inline Temp - Inline Constant 간단한 수식의 결과를 가지는 임시변수를 Inline Temp로 정의 명칭만으로 명확한 함수 호출이 단순히 임시변수에 대입 되어 사용되는 경우 임시 변수를 제거하고 함수 호출을 바로 하는 방법 임시 변수의 제