-
애너테이션 타입 정의하기공부/Java 2024. 5. 3. 23:05
애너테이션 타입 정의하기
- 애너테이션을 직접 만들어 쓸 수 있다.
사용 방법
@interface 애너테이션이름 {
타입 요소이름(); // 애너테이션의 요소를 선언한다.
}- 애너테이션의 메서드는 추상 메서드이며, '애너테이션의 요소'라고 한다.
- 애너테이션을 적용할 때 요소들의 값을 지정하며 요소의 이름을 같이 적어주므로 순서는 상관 없다.
- 요소로 자신이 아닌 애너테이션을 포함할 수 있다.
- 요소 적용시 값을 지정하지 않으면, 사용될 수 있는 기본값을 지정할 수 있다.
@interface TestInfo{ int count() defalut 1; //기본값을 1로 지정 } @Tesrinfo //@TestInfo(count = 1)과 동일 public class NewClass{ ... }
※ 기본값으로 null을 제외한 모든 리터럴이 가능하다.
- 요소가 하나이고 이름이 value일 때는 요소의 이름을 생략할 수 있다.
@interface TestInfo{ String value(); } @TestInfo("passed") //TestInfo(value = "passed")와 동일 class NewClass{ ... }
- 요소의 타입이 배열인 경우, 괄호{}를 사용해서 여러 개의 값을 지정할 수 있다.
@interface TestInfo{ String[] testTools(); } @Test(testTools={"JUnit", "AutoTester"})
※ 값이 하나일 때는 괄호{} 생략이 가능하며, 값이 없을 때는 괄호{}가 반드시 필요하다.
애너테이션 요소의 규칙
- 애너테이션의 요소를 선언할 때 아래의 규칙을 반드시 지켜야 한다.
1) 요소의 타입은 기본형, String, enum, 애너테이션, Class만 허용한다.
2) 괄호()안에 매개변수를 선언할 수 없다.
3) 예외를 선언할 수 없다.
4) 요소를 타입 매개변수<T>로 정의할 수 없다.'공부 > Java' 카테고리의 다른 글
쓰레드의 구현과 실행 (0) 2024.05.06 프로세스와 쓰레드 (0) 2024.05.04 메타 애너테이션 (0) 2024.05.02 표준 애너테이션 (0) 2024.05.02 열거형에 멤버 추가하기 (0) 2024.04.30