• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

커스텀 애노테이션 강의 중에 궁금해서요..

19.06.09 00:19 작성 조회수 83

0

안녕하세요!! 강의 열심히 보다가 처음으로 질문 남기네요 ㅎㅎ

 

Retention애노테이션 설정할때.. CLASS가 디폴트라서 RUNTIME으로 변경해줘야하는건 이해가 갔는데요..

 

그럼 CLASS는 어떤 용도로 쓰일가요?? 모든 코드는 런타임시에 도니까.. SOURCE나 CLASS나 별차이 없는 것 아닌가요?

 

좋은강의 제공해주셔서 너무감사하고 질문 확인해주시면 정말 감사하겠습니다.

답변 1

답변을 작성해보세요.

4

애노테이션 정보를 class 까지 즉 바이트코드까지 유지 시켜놓으면 바이트코드를 조작해서 뭔가를 해야 하는 작업에 유용하게 사용할 수 있습니다. 바이트코드를 조작하는 방법으로 동작하는 AOP를 사용하는 경우에도 그렇구요. CGLib이나 ByteBuddy 등의 유틸성 라이브러리를 사용하는 경우에도 유용할 거구요.

결론은 둘이 별 차이 없는게 절대 아닙니다.