[Java] 자바 어노테이션(Annotation) 만들기 & 활용법
- Language/Java
- 2020. 7. 2.
어노테이션(Annotation)이란?
자바에서 어노테이션은 자바 소스 코드에 추가하여 사용할 수 있는 메타데이터의 일종을 말합니다. 보통 @기호를 앞에 붙여서 사용하며 JDK 1.5 버전 이상에서부터 사용이 가능합니다. 자바 어노테이션은 클래스 파일에 임베디드되어 컴파일러에 의해 생성된 후 자바 가상머신에 포함되어 작동합니다. 어노테이션은 메타데이터라고 볼 수도 있습니다. 메타데이터란 어플리케이션이 처리해야 할 데이터가 아니라 ,컴파일 과정과 실행 과정에서 코드를 어떻게 컴파일하고 처리할것인지를 알려주는 정보입니다.
어노테이션의 사용처
1. 컴파일러에게 코드 문법 에러를 체크하도록 정보를 제공
2. 소프트웨어 개발 툴이 빌드나 배치 시 코드를 자동으로 생성할 수 있도록 정보를 제공
3. 실행 시 특정 기능을 실행하도록 정보를 제공
커스텀 어노테이션(Annotation) 생성
프로젝트 생성 -> New에서 어노테이션을 생성할 수 있습니다.
public @interface AnnotationName{...}
커스텀 어노테이션을 생성하려면 @interface [어노테이션 명]이라는 형태로 어노테이션을 만들면 됩니다.
public @interface ExAnnotation {
//타입 요소명() default 값;
String value(); //String형 기본 엘리멘트
int value2() default 5; //int형 엘리멘트 초기값 5
}
위 예제와 같이 어노테이션은 멤버를 가질 수 있으며 타입과 이름, 디폴트값을 설정할 수 있습니다. 디폴트값을 따로 지정해주지 않으면 기본 엘리멘트가 됩니다.
※ 엘리멘트 뒤에는 ( ) 괄호를 붙여야 합니다.
커스텀 어노테이션(Annotation) 사용
@ExAnotation(value = "Hello", value2 = 1);
@ExAnotation("Hello"); //value2는 default값이 있으므로 생략이 가능합니다.
생성한 어노테이션을 사용하려면 @어노테이션명으로 호출을 하면 됩니다. 어노테이션 안에 있는 엘리멘트의 defualt값이 있다면 값을 설정해주지 않아도 되지만 엘리멘트의 값이 없다면 값을 설정해주어야 합니다. 기본 엘리멘트만 있다면 엘리멘트의명을 지정해주지 않아도 자동 설정됩니다.
'Language > Java' 카테고리의 다른 글
[Java] 자바 Queue 클래스 사용법 & 예제 총정리 (2) | 2020.09.08 |
---|---|
[Java] 자바 Stack 클래스 사용법 & 예제 총정리 (3) | 2020.09.07 |
[Java] 자바 스트림(Stream) 사용법 & 예제 (2) | 2020.07.01 |
[Java] 제네릭(Generic) 사용법 & 예제 총정리 (1) | 2020.06.30 |