ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 애너테이션 타입 정의하기
    공부/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
Designed by Tistory.