[Spring] 객체지향 설계 5원칙

고지훈·2022년 1월 3일
0

Spring

목록 보기
7/26
post-thumbnail

응집도와 결합도

  • 좋은 소프트웨어 설계를 위해서는 결합도는 낮추고 응집도는 높여야한다.

[결합도]

  • 모듈간의 상호 의존 정도를 나타내는 지표로써 결합도가 낮으면 모듈간의 상호 의존성이 줄어들어 객체의 재사용 및 유지보수가 유리하다.

[응집도]

  • 하나의 모듈 내부에 존재하는 구성 요소들의 기능적 관련성으로 응집도가 높은 모듈은 하나의 책임에 집중하고 독립성이 높아져 재사용 및 유지보수성이 높아진다.

객체지향 설계 5원칙

  • SRP(Single Responsibility Principle) 단일 책임 원칙
    • 어떤 클래스를 변경해야하는 이유는 한 가지뿐이여야한다.
  • OCP(Open Closed Principle) 개방 폐쇄 원칙
    • 자신의 확장에는 열려있고, 주변의 변화에 대해서는 닫혀있어야 한다.
    • 상위 클래스 또는 인터페이스를 중간에 둠으로써, 자신은 변화에 대해서 폐쇄적이지만, 인터페이스는 외부의 변화에 대해 확장을 개방해 줄 수 있다.
  • LSP(Liskov Substitution Principle) 리스코프 치환 원칙
    • 서브 타입은 언제나 자신의 기반 타입으로 교체할 수 있어야한다.
  • ISP(Interface Segregation Principle) 인터페이스 분리 원칙
    • 클라이언트는 자신이 사용하지 않는 메서드에 의존 관계를 맺으면 안된다.
  • DIP(Dependency Inversion Principle) 의존 역전 원칙
    • 자신보다 변하기 쉬운 것에 의존하지 말아야 한다.
profile
"계획에 따르기보다 변화에 대응하기를"

0개의 댓글