Laravel

Service Container & DI

Dependency injection, service providers, binding, singletons, contextual binding, container 해결, facades

20 면접 질문·
Mid-Level
1

Laravel의 Service Container란 무엇인가요?

답변

Service Container는 클래스 의존성을 관리하고 dependency injection을 수행하기 위한 강력한 도구입니다. 생성자의 type-hint를 검사하여 의존성을 자동으로 해결합니다. Service Container를 사용하면 의존성의 직접 인스턴스화를 피함으로써 테스트 용이성과 결합도 감소를 개선할 수 있습니다.

2

직접 인스턴스화와 비교했을 때 dependency injection의 주요 장점은 무엇인가요?

답변

Dependency injection은 테스트 중에 의존성을 mock이나 stub으로 쉽게 대체할 수 있게 하여 테스트 용이성을 향상시킵니다. 또한 클래스가 구체적인 의존성에 강하게 결합되는 것을 방지하여 결합도 감소를 촉진합니다. 이는 코드를 더 유지보수하기 쉽고 변경에 유연하게 만듭니다.

3

Laravel 컨트롤러 생성자에 의존성을 주입하는 방법은 무엇인가요?

답변

생성자에 의존성의 type-hint를 추가하면 Service Container가 이 의존성을 자동으로 해결합니다. Laravel은 생성자 파라미터를 검사하고 추가 구성 없이 적절한 인스턴스를 주입합니다. 이 방식은 컨트롤러에서 dependency injection을 하는 가장 간단하고 일반적인 방법입니다.

4

Service Container에서 bind()와 singleton()의 차이점은 무엇인가요?

5

app()->make(UserRepository::class) 메서드는 무엇을 하나요?

+17 면접 질문

다음 면접을 위해 Laravel을 마스터하세요

모든 질문, flashcards, 기술 테스트, 코드 리뷰 연습, 면접 시뮬레이터에 접근하세요.

무료로 시작하기