JAVA2_08_애너테이션 타입 정의하기

charl hi·2021년 9월 29일
0

JAVA2

목록 보기
8/8

애너테이션 타입 정의하기

  • 애너테이션을 직접 만들어 쓸 수 있다.
@interface 애너테이션이름 {
	타입 요소이름();	//애너테이션의 요소 선언
		...
}

  • 애너테이션의 메소드는 추상메소드!!(구현X)

  • 애너테이션을 적용(사용)할 때 지정, 순서상관없음

이런식으로...^^;

  • 애너테이션의 참조변수.추상메소드() 호출하면
    -> 지정된 값을 얻을 수 있다.

  • 우리는 주로 애너테이션 사용하는 쪽..



애너테이션의 요소

  • 적용 시 값을 지정하지 않으면, 사용될 수 있는 기본값 지정 가능(null 제외)
추상메소드() default 기본값;

  • 요소가 하나이고, 이름이 value일 땐 요소의 이름 생략 가능
@interface TestInfo {
	String value();
}

@TestInfo("passed")		//@TestInfo(value="passed") 와 동일
class NewClass { ... }
  • 요소의 타입이 배열인 경우, 괄호{}를 사용해야 한다.



애너테이션의 조상

  • java.lang.annotation.Annotation
  • Annotation은 인터페이스이며, 모든 애너테이션의 조상이지만 상속은 불가
  • 이 애너테이션의 추상메소드들은 구현하지 않아도 우리가 사용할 수 있다.


마커 애너테이션 Marker Annotation

  • 요소가 하나도 정의되지 않은 애너테이션


애너테이션 요소의 규칙

  1. 요소의 타입은 기본형, String, enum, 애너테이션, Class(설계도)만 허용된다.
  2. 괄호()안에 매개변수를 선언할 수 없다.
  3. 예외를 선언할 수 없다.
  4. 요소를 타입 매개변수로 정의할 수 없다.



Ref

0개의 댓글