annotation: 자바 컴파일러에게 메시지를 전달하는 목적의 메모
표현방식: @ + 문자열
예시) @Override, @Deprecated, @SuppressWarnings
@Override
목적
1. 상위 클래스의 메소드 오버라이딩
2. 인터페이스의 추상 메소드의 구현체 메서드 정의
@Desprecated
목적: 문제의 소지가 있거나, 개선된 기능의 다른 것으로 대체되어서 더 이상 필요 없게됨을 알린다.
아직은 호환성을 유지하기 위해 존재하지만, 이후에 사라질 수 있는 클래스 또는 메소드를 가리킨다.
@SuppressWarnings
목적: 컴파일러의 경고를 지운다.
@SuppressWarings("deprecation")
// @Deprecated 선언이 존재하는 메소드 위에 선언하면, 컴파일러는 경고 메시지를 보내지 않는다.
어노테이션에 대한 더 깊은 내용이 필요할 때, 아래 문서를 참고하자.
JSR 175 https://www.jcp.org/en/jsr/detail?id=175
JSR 250 https://www.jcp.org/en/jsr/detail?id=250
윤성우의 열혈 자바 프로그래밍