인프런 커뮤니티 질문&답변

공부맛있다님의 프로필 이미지

작성한 질문수

스프링 핵심 원리 - 기본편

IoC, DI, 그리고 컨테이너

DI에 관해서 궁금합니다.

해결된 질문

작성

·

326

1

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]
DI는 결국 인터페이스를 의존하는데, 클래스를 의존하게 된다면 필드에 private final Class clss = new Class();로 생성해서 사용하면 되나요?
인터페이스가 필요없는 클래스들도 DI를 위해서 인터페이스를 새로 생성 해야할까요?
모든것에 DI를 적용해야 하는것인지 궁금합니다.

 

답변 1

2

안녕하세요. 공부맛있다님, 공식 서포터즈 코즈위버입니다.

DI는 인터페이스 뿐 아니라 구체클래스를 주입받을 수도 있습니다. 의존성을 외부에서 주입받을 것인가 아닌가 여부를 가르는 기준은, 객체가 변경될 가능성이 있는가 (유연성이 필요한가) 그리고 여러곳에서 사용해야 하는가 인데요, 딱 한 객체에서만 사용한다면 외부 객체로 빼지 말고 private 메서드로 처리하는 방법을 생각할 수 있지요.

감사합니다.

정말 감사합니다. 생각이 정말 많았는데 덕분에 잘 정리되었습니다. :)