[Refactoring] 슈퍼클래스를 위임으로 바꾸기


[Refactoring] 슈퍼클래스를 위임으로 바꾸기

객체지향에서 상속은 기존의 기능을 재사용하는 쉬우면서 강력한 방법이지만 때로는 적절하지 않은 경우도 있다. 서브 클래스는 슈퍼클래스의 모든 기능을 지원해야 한다. stack이라는 자료 구조를 만들 때 List를 상속받는 것이 좋을까? 서브 클래스는 슈퍼클래스 자리를 대체하더라도 잘 동작해야 한다. 리스코프 치환 원칙 서브 클래스는 슈퍼클래스의 변경에 취약하다. 그렇다면 상속을 사용하지 않는 것이 좋은가? 상속은 적절한 경우에 사용한다면 매우 쉽고 효율적인 방법 따라서 우선 상속을 적용한 이후에 적절치 않다고 판단이 된다면 그때 리팩토링을 적용하자. 슈퍼클래스를 위임으로 바꾸기 public class CategoryItem { private Integer id; private String title; private List<String> tags; public CategoryItem(Integer id, String title, List<String> tags) { this.id = ...


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

원문링크 : [Refactoring] 슈퍼클래스를 위임으로 바꾸기