@Injectable({ providedIn: 'root' })
데코레이터를 사용한 이유와 그 동작을 상세하게 설명해드릴게요.
Angular에서 @Injectable()
데코레이터는 서비스 클래스가 의존성 주입(Dependency Injection)을 받을 수 있는 클래스임을 나타내는 역할을 합니다. providedIn
속성을 사용하면 Angular가 서비스 인스턴스를 어떤 범위에서 생성할지 결정할 수 있습니다.
@Injectable({ providedIn: 'root' })
사용 이유:
providedIn: 'root'
로 설정합니다.동작:
providedIn: 'root'
로 설정된 서비스를 인식하고 해당 서비스의 인스턴스를 생성합니다.즉, @Injectable({ providedIn: 'root' })
를 사용하면 애플리케이션 전체에서 동일한 인스턴스를 공유하는 싱글톤 패턴을 간단하게 구현할 수 있습니다. 이를 통해 메모리 사용량을 최적화하고, 각 요소 간에 데이터 일관성을 유지할 수 있게 됩니다.
많은 도움이 되었습니다, 감사합니다.