어노테이션
- 주석처럼 프로그래밍 언어에 영향 미치지 않으며 유용 정보 제공
1. 자바에서 제공하는 어노테이션
- 이 메소드는 어떤 메소드다~ 라는 것을 알림 & 역할을 도와줌
Override
- 오버라이딩 올바르게 했는지 컴파일러가 체크하게 함
- 오버라이딩 할 때 메서드 이름 잘못 적는 실수 많은데, 이를 어노테이션이 다시 한번 체크해줌
deprecated
- 사용하지 않을 것을 권장하는 필드, 메서드에 붙이기
2. 메타 어노테이션
어노테이션을 만들기 위한 어노테이션이라고 할 수 있지.
2-1 : @Target
- 어노테이션 정의 시 적용대상 지정에 사용!
- 내가 정의할 / 정의된 어노테이션이 어떤 아이들에 적용가능한 지 범위 명시해주는 것
2-2 : @Retention
-
애너테이션이 유지(retention)되는 기간
-
컴파일러에 의해 사용되는 애너테이션의 유지 정책은 SOURCE
- 오버라이딩은 컴파일 할 때만 사용되는 아이
-
실행시에 사용 가능한 애너테이션의 정책은 RUNTIME
-
class는 잘 안쓰임
2-3 : @Documented
- javadoc으로 작성한 문서에 포함시키려면 @Documented 붙이기
2-4 : @Inherited
- 애너테이션을 자손 클래스에 상속하고자 할 때, @Inherited 붙이기
2-5 : @Repeatable
- 반복해서 붙일 수 있는 어노테이션 정의 시 사용
출처 강의 :
https://www.youtube.com/watch?v=i4V8ZI9Undc&list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp&index=144
출처 교재 :
자바의 정석, 남궁성