less than 1 minute read

객체 지향 5원칙

객체 지향에서 꼭 지켜야 할 5개의 원칙

객체 지향에서 꼭 지켜야 할 5개의 원칙

SOLID : 5개 원칙의 앞글자들

  • SRP : 단일 책임 원칙

    객체는 오직 하나의 책임(기능) 만 가져야 함

  • OCP : 개방-폐쇄 원칙

    객체의 기능의 확장에 대해서는 개방적이고 스스로의 변경(수정)에 대해서는 폐쇄적이어야 함

  • LSP : 리스코프 치환 원칙

    자식 클래스는 언제나 자신의 부모 클래스를 대체할 수 있어야 함

    지키지 않을 시 부모 클래스의 의미가 변하여 is-a 관계마 망가져 다형성 지킬 수 없게 됨

  • ISP : 인터페이스 분리 원칙

    클라이언트에서 사용하지 않는 메서드는 사용해선 안 됨

    큰 덩어리의 인터페이스들을 구체적이고 작은 단위로 분리시켜 클라이언트들이 꼭 필요한 메서드들만 이용할 수 있게 해야 함

    작은 단위들을 역할 인터페이스

    시스템의 내부 의존성을 약화시켜 리팩토링, 수정, 재배포를 쉽게 함

  • 의존성 역전 원칙

    추상성이 높고 안정적인 고수준의 클래스는 구체적이고 불안정한 저수준의 클래스에 의존해서는 안 됨

    상위 계층(정책 결정), 하위 계층(세부 사항)에 의존하는 전통적인 의존 관계를 반전 시켜 상위 계층이 하위 계층의 구현으로부터 독립할 수 있음

    • 내용

      1. 상위 모듈은 하위 모듈을 의존해서는 안 됨. 상위 모듈, 하위 모듈 모두 추상화에 의존해야 함

      2. 추상화는 세부 사항에 의존해서는 안 됨. 세부사항이 추상화에 의존해야 함

  • DIP : 의존성 역전 원칙

Categories:

Updated: