Annotation(2)

mtak·2021년 4월 21일
0

Spring Study

목록 보기
10/13

지난번에 어노테이션을 공부하다가 좋은 자료 [학습자료1]을 발견해서 죽 읽어보고 있었다. 커스텀 어노테이션은어떻게 만들 수 있는지 읽어보던 와중에 어노테이션 정보가 얼마나 유지되는지를 결정할 수 있는 @Retention의 속성 세 가지(source, class, runtime)를 보고 그래서 언제 죽는지 이해를 하지 못했다. 더 정확하게는 컴파일러는 인지할 수 있지만 런타임에서는 인지 못하는 class 라는 속성에 대해서 이 두 가지가 무슨 의미 차이가 있는지 궁금했다. (그냥 이해 못했다는 뜻) 해당 원문의 예시는 이해하는데 적절하지 않았고, [학습자료2] 를 참고하여 이해하게 되었다. annotation의 class속성은 컴파일 시에 필요한 워닝만 내뱉고(유효성을 검사해야 하는 상황에서), 실제 실행 파일 상에서는 필요 없으니 지워지는 놈이다. (이런 우렁각시 같으니라고) 더불어서 @Target 도 같이 써야하는 것도 알았다.

profile
노는게 젤 조아. 친구들 모여라!!

0개의 댓글