결합도는 의존성의 정도를 나타내며 다른 모듈에 대해 얼마나 많은 정보를 알고 있는지에 대한 척도입니다.
어떤 모듈이 다른 모듈에 너무 자세한 부분(구현 세부사항)까지 알고 있을 경우에 강한 결합도를 가진다고 합니다.
어떤 모듈이 다른 모듈에 대해 필요한 정보(인터페이스로 추상화된 고수준 정책)만 알고 있다면 두 모듈은 낮은 결합도를 가진다고 합니다.
객체지향 관점에서 결합도는 객체 또는 클래스가 협력에 필요한 적절한 수준의 관계만을 유지하고 있는지를 나타냅니다. 이러한 관점에서 강한 결합도는 반드시 지양해야 하며, 개발자가 적절한 결합도는 유지할 수 있도록 고민하고 설계해야 합니다.
'Back-end > Java' 카테고리의 다른 글
[Java] Mutable 객체와 Immutable 객체의 차이점 (0) | 2021.11.21 |
---|---|
[Java] 직렬화와 역직렬화 (0) | 2021.11.21 |
[Java] try-with-resources (0) | 2021.11.21 |
[Java] String, StringBuilder, StringBuffer 각각의 차이 (0) | 2021.11.21 |
[Java] Java 8에서 추가된 기능 (0) | 2021.11.19 |