12.2 필드 올리기
리팩터링 전
리팩터링 후
🧷 배경
서브클래스들이 독립적으로 개발되었거나 뒤늦게 하나의 계층구조로 리팩터링된 경우 일부 기능이 중복되어 있을 때가 있다. 이런 경우 필드들이 비슷한 방식으로 쓰인다면 슈퍼클래스로 끌어올리자.
데이터 중복 선언을 없앨 수 있다.
해당 필드를 사용하는 동작을 서브클래스에서 슈퍼클래스로 옮길 수 있다.
🧷 절차
후보 필드들을 사용하는 곳 모두가 그 필드들을 똑같은 방식으로 사용하는지 면밀히 살핀다.
필드들의 이름이 각기 다르다면 똑같은 이름으로 바꾼다.
슈퍼클래스에 새로운 필드를 생성한다.
서브클래스의 필드들을 제거한다.
테스트한다.
Last updated