- 자바 소스 코드에 추가하여 사용할 수 있는 메타데이터의 일종
- @ 기호를 붙인다.
- 주석처럼 프로그램에 영향을 주지 않으면서, 컴파일러에게 유용한 정보를 제공한다.
- JDK에서 제공하는 애너테이션은
java.lang.annotation
패키지에 포함되어 있다.
- 코드 작성 과정에서 실수를 방지하게 해준다.
주석과 애너테이션의 차이점?
= 정보를 전달하는 대상이 누구인가?
- 주석: 사람(개발자)
- 애너테이션: 프로그램(컴파일러, JUnit)
종류
- 표준 애너테이션
- 메타 애너테이션: 애너테이션을 정의하는데 사용되는 애너테이션
- 애너테이션의 적용 대상 또는 유지 기간 등을 정해줌
- 사용자 정의 애너테이션
애너테이션을 자주 사용하지는 않아서, 가장 자주 사용하는 애너테이션들만 간략하게 정리해보겠다.
다른 것들은 시간이 있을 때 정리해보자.
표준 애너테이션
@Override
- 상위 클래스의 메서드를 오버라이딩한 메서드라는 걸 컴파일러에게 알려주는 역할을 한다.
- 오버라이딩이 잘 되었는지를 확인하고, 문제가 있다면 컴파일 에러를 발생시킨다.