Annotation
주석을 통해 타인에게 정보를 제공하여 주는 반면, Annotaion은 특정 코드를 사용하여 컴퓨터에게 정보를 제공하여 준다.
역할
- 컴파일러에게 문법 에러를 체크하도록 정보를 제공
- 프로그램을 빌드할 때 코드를 자동으로 생성할 수 있도록 정보를 제공
- 런타임 시 특정 기능을 실행하도록 정보를 제공
어노테이션은 @을 사용하여 작성하며, 해당 타깃에 대한 동작을 수행하는 프로그램 외에는 다른 프로그램에 영향을 주지 않는다.
종류
크게 세 가지로 구분된다. 자바에서 기본적으로 제공하는 표준 어노테이션과 어노테이션을 정의하는 데 사용되는 메타 어노테이션, 마지막으로 사용자 어노테이션이 있다.
표준 어노테이션
자바에서 기본적으로 제공하는 어노테이션이다.
- @Override : 컴파일러에게 메서드를 오버라이딩 하는 것이라고 알린다.
- @Deprecated : 앞으로 사용하지 않을 대상임을 알린다.
- @SuppressWarning : 컴파일러가 경고 메시지를 나타내지 않는다.
- @FunctionalInterface : 함수형 인터페이스에 붙이면, 컴파일러가 올바르게 작성했는지 체크
메타 어노테이션
어노테이션을 위한 어노테이션이다.
- @Target : 어노테이션을 정의할 때, 적용대상을 지정할 때 사용
- @Retention : 어노테이션을 유지하는 기간을 지정할 때 사용
- @Documented : javadoc으로 작성한 문서에 포함시키려면 해당 어노테이션을 사용
- @Inherited : 어노테이션을 자손 클래스에 상속시키고자 할 때 사용
- @Repeatable : 반복해서 붙일 수 있는 어노테이션을 정의할 때 사용
사용자 정의 어노테이션
@interface 이름 {
// 어노테이션의 요소를 선언
}
위와 같이 작성하면 어노테이션을 만들고 사용할 수 있다.
참고
https://velog.io/@jkijki12/annotation
항해 개발자 취업 리부트 코스를 수강하고 작성한 콘텐츠 입니다.
IT 커리어 성장 코스 항해99, 첫 취업부터 현직자 코스까지
항해99는 실무에 집중합니다. 최단기간에 개발자/PM으로 취업하고, 현직자 코스로 폭발 성장을 이어가세요. 실전 프로젝트, 포트폴리오 멘토링, 모의 면접까지.
hanghae99.spartacodingclub.kr
'멋진 개발자 > Java & Spring' 카테고리의 다른 글
[항해 취업코스] 개발자 취준 기록 16 - N + 1 발생 이유와 해결방법 (0) | 2024.03.12 |
---|---|
[항해 취업코스] 개발자 취준 기록 15 - Spring Security의 구조와 JWT 발급 과정 (0) | 2024.03.12 |
[항해 취업코스] 개발자 취준 기록 13 - MVC 모델 (0) | 2024.03.07 |
[항해 취업코스] 개발자 취준 기록 12 - DI와 IoC (0) | 2024.03.07 |
[항해 취업코스] 개발자 취준 기록 11 - Java Map 내부 구현 파악 (1) | 2024.03.07 |