728x90
1. 애너테이션
애너테이션은 다른 프로그램에게 유용한 정보를 전달하는 역할을 한다. 애너테이션 그리고 소스코드의 주석은 다음과 같은 비슷한 특징을 갖는다.
기능 | 도움을 제공하는 프로그램 | |
@ | 소스 코드 + 설정 파일 (XML) | 컴파일러, JUnit 테스트 프로그램, 그 외 |
/** ~ */ | 소스 코드 + 소스 코드 설명 문서 (HTML) | javadoc.exe |
1) 표준 애너테이션 : 기본적으로 제공하는 애너테이션
애너테이션 | 알려주는 대상 | 특징 |
@Override | 컴파일러 | 오버라이딩 하는 메서드에 붙인다. |
@Deprecated | 앞으로 사용하지 않을 것을 권장하는 메서드에 붙인다. | |
@FunctionalInterface | 컴파일러 | 함수형 인터페이스에 붙인다. |
@SuppressWarnings | 컴파일러 | 경고 메시지를 나타나지 않게 해준다. 경고 확인의 기능을 갖는다. 경고에는 "deprecation", "unchecked", "rawtypes", "varargs"가 있다. 둘 이상의 경고가 있을 경우 {}로 묶는다. |
2) 메타 애너테이션 : 애너테이션을 위한 애너테이션
애너테이션 | 특징 |
@Target | 애너테이션을 적용할 대상을 지정해준다. |
@Retention | 애너테이션이 유지되는 기간을 정해준다. |
2. 애너테이션 타입 정의
@interface 애너테이션 이름 {
타입 요소 이름(); // 추상 메서드 = 요소
...
}
[참고] @Override (애너테이션), Override (애너테이션 타입)
(1) 요소
요소 (추상 메서드)는 구현해주지 않아도 된다.
각 요소는 기본값을 가질 수 있다.
- 값이 여러개인 경우 {}로 표기해준다.
- 값이 하나인 경우 {} 생략 가능하다.
요소의 타입 - 기본형, String, enum, 애너테이션, Class만 허용
()안에 매개변수 선언할 수 없음
예외를 선언할 수 없음
요소를 타입 매개변수로 정의할 수 없음
(2) 애너테이션을 사용하는 쪽
- 요소 이름=값의 형태로 지정해준다.
- 요소가 오직 value 하나일 때는 값만 적어도 된다.
- 요소의 타입이 배열인 경우 {}로 표기해준다.
- 이때 값이 하나일 때 {} 생략 가능하다.
- 요소의 순서는 상관 없다.
반응형
'자바 (Java) > 요약' 카테고리의 다른 글
Chpt 12. 지네릭스, 열거형, 애너테이션 - 주제 3. 열거형 (0) | 2023.11.10 |
---|---|
Chpt 12. 지네릭스, 열거형, 애너테이션 - 주제 2. 지네릭스의 타입 (0) | 2023.11.10 |
Chpt 12. 지네릭스, 열거형, 애너테이션 - 주제 1. 지네릭스 (0) | 2023.11.10 |
Chpt 11. 컬렉션 프레임워크 - 주제 7. Comparator vs. Comparable (0) | 2023.11.08 |
Chpt 11. 컬렉션 프레임워크 - 주제 5. Map 인터페이스와 구현 클래스들 (0) | 2023.11.08 |