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{}
}