목표
자바의 애노테이션에 대해 학습하세요.
학습할 것 (필수)
애노테이션 정의하는 방법
@retention
@target
@documented
애노테이션 프로세서
-애노테이션 정의하는 방법
어노테이션이란?
@를 이용한 주석,자바코드에 주석을 달아 특별한 의미를 부여한것으로
JDK5부터 등장하였다.
메타 데이터라고도 불리운다.
메타 데이터 란?데이터를 위한 데이터를 의미 하며 , 한 데이터에 대한 설명을 의미하는 데이터이다.
정의 방법
public @interface annition{
}
-@retention
자바의 컴파일러가 어노테이션을 다루는 방법을 기술하며 특정시점까지 미치는지 결정한다.
RetenitionPolicy.Source:컴파일 전까지만 유효하고 컴파일 이후에는 사라짐.
RetenitionPolicy.class:컴파일러가 클래스를 참조 할때까지 만 유효함.
RetenitionPolicy.runtime:컴파일 이후에도 JVM에 의해 계속 참조가 가능하다.
-@target
어노테이션이 적용할 위치를 선택한다.
ElementType.package:패키지선언
ElementType.type :타입 선언
ElementType.annotion_type : 어노테이션 타입 선언
ElementType.constructot : 생성자 선언
ElementType.field : 멤버 변수 선언
ElementType.local_variable : 지역 변수 선언
ElementType.method : 메서드 선언
ElementType.parameter : 전달인자 선언
ElementType.type_parameter : 전달인자 타입 선언
ElementType.type_use : 타입선언
-@documented
해단 어노테이션을 javadoc에 포함시킨다.
-애노테이션 프로세서
어노테이션 프로세서란 자바 컴파일러 플러그인의 일종으로 어노테이션에 대한 코드 베이스를
검사,수정,생성하는 역할을 가지는 플러그인을 말한다.
어노테이션 프로세서에는 Lombok,@Override등이 사용된다.