SOLID 강의2

마음이편해·2022년 12월 6일
post-thumbnail

리스코프 치환 원칙

  • 간단하게는 하위클래스는 상위클래스를 반드시 대체할 수 있어야 함

예제코드

  • 잘된 예

  • 잘못된 예

  • 정사각형 클래스를 상속받아 사각형클래스를 정의할 때에는 리스코프 치환 원칙에따라
    Rectangle이 자식클래스인 Option A가 적절하다.
    Square의 모든 행위를 대체할 수 있고 자신에게 필요한 함수를 추가하는 형태이기 때문이다.
    Square가 자식클래스인 Option B는 상속의 의미가 없다고 느껴진다.

  • 가이드라인


    1. 상속은 데이터가 아닌 동작에 관련해서 이루어져야 한다.
    2. 베이스타입의 규약을 준수해야 한다.
    3. 해당 타입의 컨셉에 벗어나지 말아야 한다.

  • 내 생각

    자식클래스가 부모클래스의 개념에서 확장된 것은 리스코프 치환원칙 뿐만이 아닌
    코드리딩시에도 개발 의도파악에 용이하고 의미적으로도 그게 당연하지않나 하는 생각...?

0개의 댓글