Skip to content

ITEM 18. 상속보다는 컴포지션을 사용하라. #37

@verticalcode

Description

@verticalcode

상속은 코드를 재사용할 수 있는 강력한 수단이지만, 잘못 사용하면 객체의 유연성을 해치는 결과를 초래합니다.
(클래스가 다른 클래스를 확장하는 구현상속을 의미, 클래스가 인터페이스를 구현하거나 인터페이스끼리 확장하는 인터페이스 상속은 제외)
컴포지션을 사용하면 개발자가 원하는 메서드만 클라이언트에게 공개할 수 있고, 상위 클래스 내부를 숨겨 캡슐화를 해치지 않을 수 있습니다.
상속으로 클래스 세트를 구성해보고, 이를 컴포지션으로 수정하여 보세요.
Decorator 디자인 패턴을 적용할 수 있으면 더 좋습니다...!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions