응집도와 결합도란?

리리티·2023년 2월 24일
0

스프링에서 응집도와 결합도란?

응집도

모듈 내부의 요소들이 밀접하게 연결되어 있는 정도를 나타내는 개념

  • 높은 응집도는 모듈 내부의 요소들이 강하게 연결되어 있는 것을 의미하며

    • 모듈의 기능을 수행하기 위한 요소들이 잘 정리되어 있어 유지보수가 용이
  • 반대로 낮은 응집도는 모듈 내부의 요소들이 서로 떨어져 있어 모듈의 기능을 이해하기 어렵다.

    • 유지보수가 어려운 코드를 만들어 낸다

결합도

결합도는 모듈 간의 상호 의존성 정도를 나타내는 개념

  • 높은 결합도는 모듈 간의 상호 의존성이 강하게 연결되어 있는 것을 의미

    • 하나의 모듈이 변경될 때 다른 모듈에도 영향을 미치므로 전체 시스템의 유지보수가 어렵다.
  • 반면 낮은 결합도는 모듈 간의 상호 의존성이 약하게 연결되어 있는 것을 의미

    • 모듈 간의 변경이 다른 모듈에 미치는 영향이 적어 전체 시스템의 유지보수가 용이하다

스프링에서는 어떻게 하는가

  1. 스프링에서는 응집도와 결합도를 고려하여 모듈화된 구조를 만든다.
  2. 객체지향적인 설계 원칙을 적용하여 유연하고 확장 가능한 코드를 만드는 것을 지향합니다.
  3. 이를 위해 스프링은 DI(Dependency Injection)와 AOP(Aspect-Oriented Programming)를 지원
  4. 모듈 간의 의존성을 낮추고 응집도를 높이는 데에 기여
profile
remind

0개의 댓글

관련 채용 정보