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

박민성님의 프로필 이미지
박민성

작성한 질문수

스프링 핵심 원리 - 기본편

섹션3. 스프링핵심원리 이해 강의내용질문

해결된 질문

작성

·

160

0

의존관계 주입을 사용하면 클라이언트 코드를 변경하지 않고, 클라이언트가 호출하는 대상의 타입 인스턴스를 변경할 수 있다.

의존관계 주입을 사용하면 정적인 클래스 의존관계를 변경하지 않고, 동적인 객체 인스턴스 의존관계를 쉽게 변경 할 수 있다.

 

결국 이 두문장은 똑같은 말 아닌가요?

클라이언트 코드를 변경하지 않는다 == 정적인 클래스 의존관계를 변경하지 않는다

클라이언트가 호출하는 대상의 타입 인스턴스를 변경할수있다 == 동적인 객체 인스턴스 의존관계를 쉽게 변경할수있다.

 

결국 실행이 되는부분은 클라이언트코드니까 동적으로 실행될때 정적인 클래스 의존관계가 유지가 되겠고,

인스턴스가 변경할 수 있다는 의미는 런타임중에 정률 할인 정책으로 될지, 정액 할인 정책으로 될지가 동적인 인스턴스의 관계를 변경할수있다는 의미로 들려서 결국 두문장은 같은의미로 사용되지않았나 싶습니다

답변 2

0

안녕하세요. 박민성님, 공식 서포터즈 코즈위버입니다.

네 맞습니다. 말씀하신것처럼 두 명제는 결국 같은 내용을 말하고 있습니다 🙂

인스턴스는를 외부에서 생성하여 주입하므로, 의존관게 주입받은 객체 코드를 변경하지 않아도 됩니다.

특히 인터페이스를 이용할 경우 이 장점을 극대화 할 수 있습니다.

감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다.

박민성님의 의존관계 주입에 대한 질문과 관련하여, 강사님이 제공한 관련 내용을 참조하시면 도움이 될 것 같습니다. 아래 링크의 답변에서 정적 의존관계와 동적 객체 인스턴스 의존관계에 대한 설명을 확인해보세요.

또한, 다음 링크에서는 DI와 IoC에 대한 설명을 찾아볼 수 있습니다.

각 링크를 참고하시면 의존관계 주입과 관련한 이해가 더욱 깊어질 것입니다.

박민성님의 프로필 이미지
박민성

작성한 질문수

질문하기