# Annotation 이란?
- Angular에서는 Annotation 중요 합니다. Annotation에 다라 Class의 역할이 달라지기 때문입니다.
- Annotation의 용도는 Class를 어떤 용도로 사용할 것인지를 정해주는 용도 입니다.
- Annotation은 class위에 @를 사용해서 정의합니다.
-> class에 @Component를 사용 하면 해당 class는 Component가 됩니다.
-> class에 @NgModule을 사용 하면 해당 class를 Module이 됩니다.
-> class에 @Directive를 사용하면 해당 class는 Directive가 됩니다.
- Annotation은 class의 용도를 좀더 잘 설명하기위해서 metadata를 사용하여 좀더 상세하게 정의합니다.
# Annotation : @Injectable
- 기술적으로, @Injectable() decorator는 Service class 자체적으로 종속성이 있을 때 필요하다
- @Injectable() decorator가 있음으로, Angular는 이 두가지 의존성(LoggerService, UserService)의 type을 식별할 수 있게된다.
```
@Injectable()
export class UserContextService { constructor(private userService: UserService, private loggerService: LoggerService){ } }
```
- Angular에서는 모든 Service Class에 @Injectable 을 적용할 것을 권장한다. 그리고 필요한 경우에만 선택적으로 추가하는 방법도 합리적인 방법이라고 말하고 있다.
- 단, @Injectable를 모든 Service class에 필수적으로 적용 해야한다는 것은 아니다.
- 주입된(Injected) service를 소비하는 곳에서는 해당 Service를 만드는 방법을 알 수 없다. 이것을 걱정하지 않아도 된다. 그것은 Service를 만들고 캐시할 수 있는 의존성 주입(Dependency Injection) 작업
# 출처
- https://doitnow-man.tistory.com/177 [즐거운인생 (실패 또하나의 성공)]
- https://visualize.tistory.com/462 [시각화를 배우고 정리합니다]
'[DEV] App Dev ∕ Web Front > Framework ∕ Angular' 카테고리의 다른 글
Angular Project와 FullCalendar 통합하기 (0) | 2020.08.05 |
---|---|
Angular Routing (0) | 2020.08.03 |
Angular Directive (미완) (0) | 2020.08.03 |
Angular Project와 adminLTE 테마 통합 (0) | 2020.07.27 |
Angular Pipe(|) (0) | 2020.07.09 |
최근댓글