Provider Token
@Injectable 클래스는 모듈 providers에 등록되어 토큰과 구현이 컨테이너에 올라갑니다.
DI Container
제어의 역전은 객체 생성 위치를 코드 내부에서 모듈 설정으로 옮겨 결합도를 낮추고 테스트 대체를 쉽게 만듭니다.
@Injectable 클래스는 모듈 providers에 등록되어 토큰과 구현이 컨테이너에 올라갑니다.
필요한 서비스는 constructor 매개변수 타입을 기준으로 찾아지고 인스턴스 생성 시 연결됩니다.
대부분의 프로바이더는 앱 안에서 하나의 인스턴스로 공유되며 scope 설정으로 범위를 바꿀 수 있습니다.
테스트 모듈에서는 실제 저장소나 외부 API 대신 mock provider를 넣어 같은 계약을 검증합니다.