IT책, 강의/리팩터링
12 - 상속 다루기 - 메서드 내리기
제로칼로리
2023. 10. 28. 13:20
개요
특정 서브클래스에만 관련된 메서드는 슈퍼 클래스에서 제거하고 해당 서브클래스로 옮긴다.
이 리팩터링은 해당 기능을 제공하는 서브클래스에 대해 정확히 파악한 경우에 적용할 수 있다. 그렇지 않다면 조건부 로직을 다형성으로 바꿔야 한다.
class Employee{ get quota{} } class Engineer extends Employee{} class Salesperson extends Employee{} |
class Employee{ } class Engineer extends Employee{} class Salesperson extends Employee{ get quota{} } |