관리 메뉴

제뉴어리의 모든것

어노테이션이란 본문

JAVA

어노테이션이란

제뉴어리맨 2021. 1. 14. 17:43

어노테이션(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값이 있다면 값을 설정해주지 않아도 되지만 엘리멘트의 값이 없다면 값을 설정해주어야 합니다. 기본 엘리멘트만 있다면 엘리멘트의명을 지정해주지 않아도 자동 설정됩니다.

 

 

 

출처 : [Java] 자바 어노테이션(Annotation) 만들기 & 활용법 (tistory.com)