인프런 워밍업 클럽 스터디 0기
BE 1일차
사전적으로 주석을 의미함
소스코드에 추가하여 사용할 수 있는 메타데이터의 일종
@ 기호를 앞에 붙여서 사용
자바 어노테이션은 클래스 파일에 임베드되어 컴파일러에 의해 생성된 이후 JVM에 포함되어 동작함
@Interface [어노테이션 이름] 이라는 형태로 어노테이션을 정의해야함
커스텀 어노테이션에 대한 메타 어노테이션은 어노테이션 정의 앞쪽에 붙여줌
예시
클래스에 선언
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.ANNOTATION_TYPE)
public @interface MyAnnotation1 {
String name();
String value();
}
클래스 필드에 선언
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface MyAnnotation1 {
String name();
String value();
}
public class TheClass{
@MyAnnotation(name="name",value="Hello")
public String myField = null;
}
메서드에 선언
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.Method)
public @interface MyAnnotation1 {
String name();
String value() default "기본값";
}
public class TheClass{
@MyAnnotation(name="name",value="Hello")
public void doThis(){
}
@MyAnnotation(name="doThatMethod")
public void doThat(){
}
}