✏️12.9 계층 합치기

리팩터링 전

class Employee {...}
class Salesman extends Employee {...}

리팩터링 후

class Employee {...}

🧷 배경

클래스 계층구조를 리팩터링하다 어떤 클래스와 그 부모가 너무 비슷해져서 더는 독립적으로 존재해야 할 이유가 사라지는 경우 그 둘을 하나로 합치는 리팩터링을 진행한다.

🧷 절차

  1. 두 클래스 중 제거할 것을 고른다.

  2. 필드 올리기와 메서드 올리기 혹은 필드 내리기와 메서드 내리기를 적용하여 모든 요소를 하나의 클래스로 옮긴다.

  3. 제거할 클래스를 참조하던 모든 코드가 남겨질 클래스를 참조하도록 고친다.

  4. 빈 클래스를 제거한다.

  5. 테스트한다.

Last updated