**의존성 주입(DI)**은 현대 .NET에 내장되어 있습니다 — 프레임워크는 클래스를 자동으로 구성하고 그 의존성을 주입하는 DI 컨테이너를 포함합니다. 서비스(인터페이스를 구현으로 매핑)를 등록하면 컨테이너가 이를 해결하여, 결합도가 낮고 테스트 가능한 코드를 가능하게 합니다. ASP.NET Core의 기초입니다.
서비스 등록
// Program.cs에서 — 서비스를 수명(LIFETIME)과 함께 등록
builder.Services.AddScoped<IUserRepository, UserRepository>(); // 인터페이스 → 구현
builder.Services.AddSingleton<ICacheService, CacheService>();
builder.Services.AddTransient<IEmailSender, EmailSender>();
각 서비스를 매핑하며 수명과 함께 등록합니다. 그러면 인터페이스에 의존하는 모든 것이 등록된 구현을 받습니다.
