728x90
느슨한 결합(Loose Coupling)
의존성을 생성자 인자로 주입하면, 해당 클래스는 직접 의존하는 객체를 생성하는 책임을 갖지 않게 된다.
대신 의존성을 외부에서 주입받아 사용하므로, 클래스 간의 결합도를 낮출 수 있다.
테스트 용이성
의존성 주입을 통해 Mock Objects를 사용하여 단위 테스트(Unit Test)를 수행할 수 있다.
단일 책임 원칙(SRP; Single Responsibility Principle)
의존성을 주입받는 방식을 사용하면 이러한 객체의 역할을 분리하여 단일 책임 원칙을 준수할 수 있다.
유연성
외부에서 객체를 생성할 때 의존성을 변경하거나 다른 객체로 교체하기 쉽다.
코드를 변경하지 않고도 애플리케이션의 동작을 수정하거나 유연하게 구성할 수 있게 합니다.
코드의 명확성과 가독성
클래스가 필요로 하는 의존성이 명시적으로 드러나므로 코드의 명확성과 가독성을 높일 수 있다.
어떤 의존성이 필요한지 쉽게 파악할 수 있으며, 코드의 이해와 유지보수가 용이해진다.
'CS' 카테고리의 다른 글
[java] 원시타입(Primitive types)과 참조타입(Reference types) (3) | 2023.11.24 |
---|---|
[java] 동일성(identity, ==)와 동등성(equality, equals) (0) | 2023.11.24 |
[Spring] Spring Application 메서드 실행 방법 (0) | 2023.11.22 |
[Spring] Filter, Interceptor 예외 처리방법 (2) | 2023.11.22 |
[Spring] Servlet (1) | 2023.11.22 |