애너테이션 (Annotation)
애너테이션 주요 역할
표준 애너테이션 : 자바에서 기본적으로 제공하는 애너테이션
표준 애너테이션 | 설명 |
---|---|
@Override | 컴파일러에게 메서드를 오버라이딩한다고 알림 |
@Deprecated | 이제 사용하지 않을 대상을 알림 |
@FunctionalInterface | 함수형 인터페이스라고 알림 |
@SuppressWarning | 경고메세지 생략 |
@Override
@Deprecated
@SuppressWarnings
애너테이션 | 설명 |
---|---|
@SuppressWarnings("all") | 모든 경고 억제 |
@SuppressWarnings("deprecation") | Deprecated 메서드 사용 시 나오는 경고 억제 |
@SuppressWarnings("fallthrough") | switch문에서 break 구문이 없을때 경고 억제 |
@SuppressWarnings("finally") | finally 관련 경고 억제 |
@SuppressWarnings("null") | null 관련 경고 억제 |
@SuppressWarnings("unchecked") | 검증되지않은 연산자 관련 경고 억제 |
@SuppressWarnings("unused") | 사용하지않는 코드 관련 경고 억제 |
@FunctionalInterface
메타 애너테이션(meta-annotation)
메타 애너테이션 | 설명 |
---|---|
@Target | 애너테이션을 적용할 타겟 지정 |
@Documented | 애너테이션 정보를 javadoc로 작성된 문서에 포함 |
@Inherited | 애너테이션이 하위클래스에 상속되도록 |
@Retention | 애너테이션이 유지기간을 정하는데 사용 |
@Repeatable | 애너테이션을 반복 적용 가능하게 함 |
@Target
@Documented
@Inherited
@Rentention
@Repeatable
사용자 정의 애너테이션
java.lang.annotation
을 상속받기 때문에 다른 클래스나 인터페이스를 상속받을 수 없음@interface 애너테이션명 {
타입_요소명(); // 애너테이션 요소 선언
}