[Spring] 느슨한 결합(Loose Coupling)vs강한 결합(Tight Coupling)

boramae96·2024년 4월 24일

spring

목록 보기
2/3

느슨한 결합(Loose Coupling)
내가 코드를 변경했을때 그 여파가 적은 결합

강한 결합(Tight Coupling)
반대로 여파가 큰 결합

어떤 클래스에서 다른 클래스를 직접적으로 사용하는 클래스 의존성을 줄인 느슨한 결합을 추구해야 한다.

강한 결합 상태의 코드는 유지보수가 어렵다.

의존성 주입(Dependency Injection, DI)을 통해
강한 결합 -> 느슨한 결합으로 바꿀 수 있다.

인터페이스를 사용한 느슨한 결합 구현 예


위와 같이 인터페이스를 구현하여 클래스별로 메소드를 재정의하게되면 gameRunner 클래스를 수정할 필요 없이 소스 수정 가능
-> 느슨한 결합

profile
보라매 개발자

0개의 댓글