JAVA
Annotation
by orioncsy
2023. 3. 28.
Annotation
개념
의미
- 자바 소스코드에 추가하여 사용할 수 있는 일종의 메타 데이터
- @ 기호를 붙여 사용
- jdk 1.5 이상에서 사용 가능
- 클래스 파일에 임베디드되어 컴파일러에 의해 생성된 후 자바 가상머신에 포함되어 작동
종류
표준 어노테이션
- @Override
- @Deprecated
- @FunctionalInterface
- @SuppressWarnings
메타 어노테이션
- 어노테이션에 대한 정보를 제공하는 어노테이션
- @Target
- @Retention
- @Documented
- javadoc 문서에 포함하기 위한 어노테이션
- @Inherited
- @Repeatable
어노테이션 생성
생성 방법
어노테이션 요소 특징
- default를 사용하여 기본값 지정 가능
- 요소가 하나이고 이름이 value 인 경우에는 요소 이름 생략 가능
- 요소 타입이 배열인 경우 괄호{} 사용
어노테이션 조상
Annotation
마커 어노테이션
요소가 하나도 정의되어 있지 않은 어노테이션
- @Test 처럼 테스트 프로그램에게 테스트 대상을 알리는 역할을 하는 경우가 해당된다.
어노테이션 규칙
요소 타입
- 기본형, String, enum, 어노테이션, class만 허용
() 안에 매개변수 선언불가
- String fun(int i) 처럼 선언 불가
예외 선언 불가
요소타입 매개변수로 정의 불가
- ArrayList<T> list(); 처럼 정의 불가
Reference
https://velog.io/@jkijki12/annotation