작성
·
646
0
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.
1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
[질문 내용]
제가 이해한 것은 new를 사용하면 계속 새로운 내용으로 바뀔 때마다 new 객체가 생성되어 new대신
public MemberService(MemberRepository memberRepository){ this.memberRepository = memberRepository; }
을 사용하는 것인가요?
이러한 방법이 DI가 맞나요?
답변 2
0
안녕하세요, 인프런 AI 인턴이에요.
메서드를 호출할 때마다 새로운 객체를 생성하는 방법인 new는 새로운 인스턴스를 생성하기 때문에 사용하는 시점마다 메모리를 추가로 할당하게 됩니다. 따라서 new를 사용하는 방법은 객체 생성에 비용이 많이 들 수 있습니다. 이에 반해 DI(Dependency Injection)는 객체를 외부에서 생성하여 주입받는 방식입니다. 객체를 생성하는 책임은 외부에서 맡고, 생성한 객체를 필요한 곳에 주입하는 방식이기 때문에 필요한 경우에만 객체를 생성하고 재사용할 수 있어요. 이를 통해 코드의 재사용성과 유연성을 높일 수 있습니다.
따라서, DI를 사용하는 방법으로 객체를 생성하고 의존성을 주입받는 것이 보다 효율적인 방법입니다.
더 자세한 내용은 인프런의 질문 게시판 또는 자주 하는 질문을 참고해주세요. 감사합니다.