@Interface 어노테이션을 사용하여 자체 어노테이션 정의를
작성할 수 있습니다.
프로시저
@Interface 어노테이션을 사용하여 자체 어노테이션 정의를
정의하십시오. - 어노테이션 정의는 인터페이스 정의와 비슷함
- 어노테이션 메소드 선언은 매개변수 및 throws 절을 포함하지
않으며 다음 요소 중 하나를 리턴합니다.
- 기본 요소
- String
- 클래스
- enum
- 이전에 언급된 유형의 배열
- 메소드는 기본값을 가질 수 있음
public @interface CreatedBy{
String name();
String date();
boolean contractor() default false;
}
@CreatedBy(name = "Mary Smith",date="02/02/2008")
public class MyClass{....}
결과
메타 어노테이션: 메타 어노테이션(어노테이션의 어노테이션)은
어노테이션의 사용 방법에 대한 추가 정보를 제공합니다.
- @Target
- 어노테이션 사용을 제한함
- 단일 인수는 Enum ElementType에서 제공되어야 함
- {TYPE, FIELD,METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE, ANNOTATION_TYPE}
- @Retention
- 어노테이션 정보가 저장되는 위치를 표시함
- 단일 인수는 Enum RetentionPolicy에서 제공되어야 함
- @Documented
- Javadoc에 포함되어야 할 어노테이션의 마커
- @Inherited
- 하위 유형에서 상속하는 유형 어노테이션의 마커
기타 기본 제공 어노테이션:
- @Overrides
- 메소드에 적용됨
- 메소드가 수퍼 클래스 메소드를 실제로 대체하지 않는 경우 컴파일러가
오류를 생성함을 표시합니다.
- @Deprecated
- 메소드에 적용됨
- 메소드가 외부적으로 사용될 경우 컴파일러가 경고를 생성함을
표시함
- @SuppressWarnings
- 유형 또는 메소드에 적용함
- 컴파일러가 해당 요소 및 모든 하위 요소에 대한 경고를 억제함을
표시함
@Deprecated
public void oldMethod() {...}
@SupressWarnings
public void yesIknowIuseDeprecatedMethods() {...}