Loosely coupled, Tightly-coupled 방식은 소프트웨어 컴포넌트들 간의 의존성(dependency) 정도를 설명하는 용어이다. 코드나 시스템의 유연성과 유지보수성에 직결되는 개념이다.
Tightly-copled (강결합)
- 한 모듈, 클래스가 다른 모듈, 클래스의 구체적인 구현(implementation)에 강하게 의존하는 상태
- 코드 변경시 다른 모듈도 영향을 크게 받음
- 재사용성이 낮음
- 테스트하기 어렵고 확장이 힘들다.
- 예시) Car는 Engine의 구체적인 구현에 직접 의존 -> Engine 바꾸려면 Car 코드도 수정해야 됨.
Loosely Coupled (약결합)
- 한 모듈, 클래스가 다른 모듈의 구체적인 구현 대신 인터페이스나 추상화에 의존하는 상태
- 코드 변경 영향이 최소화됨.
- 재사용성과 확장성이 높음.
- 테스트 용이
- 예시) Java + Interface + DI : Car는 Engine 인터페이스만 알면 됨. 엔진이 가솔린인지 전기인지 신경 ㄴㄴ
차이점
'공간정보아카데미' 카테고리의 다른 글
MyBatis - Logging (0) | 2025.09.04 |
---|---|
Spring MVC (0) | 2025.09.03 |
스프링에서 Bean은 어떻게 등록되고 주입될까? (XML & Annotation 비교) (0) | 2025.09.02 |
[JDBC 커넥션 풀] DBCP2 vs hikariCP vs c3p0 (0) | 2025.09.02 |
Spring-DI-Bean Annotation (0) | 2025.09.02 |