본문 바로가기
자바

자바 - 의존성 주입

by 개발자 포비 2024. 11. 26.

의존성 주입(Dependency Injection, DI)

개요

  • 정적 유틸리티 클래스싱글턴 방식은 사용하는 자원에 따라 동작이 달라지는 클래스에는 적합하지 않다.
  • 구현 클래스에 의존성이 높아지면 유지보수가 어려워질 수 있다.

의존성 주입(DI)의 필요성

  • 의존성 주입 방식을 통해 필요한 자원을 클래스에 넘겨줄 수 있다.
  • 의존하는 자원에 따라 내부 기능의 동작이 바뀌므로, 클래스의 유연성, 재사용성, 테스트 용이성이 개선된다.

예제 코드

public class SampleService {
    private final Repository repository;

    public SampleService(Repository repository) {
        this.repository = repository; // 의존성 주입
    }

    public static void main(String[] args) {
        // 주입받는 구현체 클래스의 종류에 따라 별도의 코드 수정없이 내부 동작 방식이 달라질 수 있다.
        SampleService sampleService1 = new SampleService(new BigRepository());
        SampleService sampleService2 = new SampleService(new SmallRepository());
    }
}

'자바' 카테고리의 다른 글

자바 - 객체 참조와 메모리 누수  (0) 2024.11.27
자바 - 불필요한 객체 생성  (0) 2024.11.26
자바 - 싱글턴 패턴  (0) 2024.11.25
자바 - 빌더 패턴  (0) 2024.11.25
자바 - 정적 메소드 생성  (0) 2024.11.25

댓글