CS

[Spring] 의존성과 설정값을 생성자 인자로 주입해야 하는 이유

KJihun 2023. 11. 22. 13:57
728x90

느슨한 결합(Loose Coupling)
의존성을 생성자 인자로 주입하면, 해당 클래스는 직접 의존하는 객체를 생성하는 책임을 갖지 않게 된다.

대신 의존성을 외부에서 주입받아 사용하므로, 클래스 간의 결합도를 낮출 수 있다.


테스트 용이성
의존성 주입을 통해 Mock Objects를 사용하여 단위 테스트(Unit Test)를 수행할 수 있다.


단일 책임 원칙(SRP; Single Responsibility Principle)
의존성을 주입받는 방식을 사용하면 이러한 객체의 역할을 분리하여 단일 책임 원칙을 준수할 수 있다.

유연성
외부에서 객체를 생성할 때 의존성을 변경하거나 다른 객체로 교체하기 쉽다.

코드를 변경하지 않고도 애플리케이션의 동작을 수정하거나 유연하게 구성할 수 있게 합니다.

코드의 명확성과 가독성
클래스가 필요로 하는 의존성이 명시적으로 드러나므로 코드의 명확성과 가독성을 높일 수 있다.

어떤 의존성이 필요한지 쉽게 파악할 수 있으며, 코드의 이해와 유지보수가 용이해진다.