[Refactoring] 슈퍼 클래스 추출하기


[Refactoring] 슈퍼 클래스 추출하기

거대한 클래스 어떤 클래스가 너무 많은 일을 하다 보면 필드도 많아지고 중복 코드도 보이기 시작한다. 클라이언트가 해당 클래스가 제공하는 기능 중에 일부만 사용한다면 각각의 세부 기능을 별도의 클래스로 분리할 수 있다. 클래스 추출하기를 사용해 관련 있는 필드를 한곳으로 모을 수 있다. 상속 구조를 만들 수 있다면 슈퍼 클래스 추출하기 또는 타입 코드를 서브 클래스로 교체하기를 적용할 수 있다. 클래스 내부에 산재하는 중복 코드는 메서드를 추출해서 제거할 수 있다. 슈퍼클래스 추출하기 두 개의 클래스에서 비슷한 것들이 보인다면 상속을 적용하고, 슈퍼클래스로 필드 올리기와 메서드 올리기를 사용한다. 대안으로는 클래스 추출하기를 적용해 위임을 사용할 수 있다. 우선은 간단히 상속을 적용한 이후, 나중에 필요하다면 슈퍼 클래스를 위임으로 교체하기를 적용한다. public class Department { private String name; private List<Employee> sta...


#리팩토링 #백기선 #인프런 #자바

원문링크 : [Refactoring] 슈퍼 클래스 추출하기