[Refactoring] 상속 포기


[Refactoring] 상속 포기

상속 포기 서브 클래스가 슈퍼클래스에서 제공하는 메소드나 데이터를 잘 활용하지 않는다는 것은 해당 상속 구조에 문제가 있다는 뜻이다. 기존의 서브 클래스 또는 새로운 서브클래스를 만들고 슈퍼클래스에서 메소드와 필드 내려주면 슈퍼 클래스에 공동으로 사용하는 기능만 남길 수 있다. 서브 클래스가 슈퍼클래스의 기능을 재사용하고 싶지만 인터페이스를 따르고 싶지 않은 경우에는 슈퍼클래스 또는 서브클래스를 위임으로 교체하기 리팩토링을 적용할 수 있다. 아주 심각한 코드는 아니다. 간단하게 리팩토링을 할 수 있다. public class Employee { protected Quota quota; protected Quota getQuota() { return new Quota(); } } Employ가 부모 클래스이다. public class Salesman extends Employee {} 간단하다 Quota가 클래스가 Saleman에서 많이 사용되고 있으면 Saleman으로 내린다. pu...


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

원문링크 : [Refactoring] 상속 포기