- 자바 개발을 하면서 클래스, 메서드 앞에 @를 이용한 주석, 자바코드에 주석을 달아 특별한 의미를 부여하는 것을 확인하자.
- 컴파일러가 특정 오류를 억제하도록 지시하는 것과 같이 프로그램 코드의 일부가 아닌 프로그램에 관한 데이터를 제공, 코드에 정보를 추가하는 방법
-
정보제공하는 메타데이터의 역할
메타-데이터(Meta-Data) : 데이터를 위한 데이터를 의미, 한 데이터에 대한 설명을 의미하는 데이터 (자신의 정보를 담고 있는 데이터)
-
스프링 프레임워크의
@Controller
어노테이션처럼 런타임에 리플렉션을 이용해 특수 기능을 추가하는 용도자바 리플렉션
: 다른 언어에는 존재하지 않는 특별한 기능, 컴파일 시간이 아닌 실행시간에 동적으로 특정 클래스의 정보를 객체를 통해 분석 및 추출해내는 프로그래밍 기법
-
컴파일 과정에 어노테이션 정보로부터 코드를 생성하는 용도
-
@Override
- 내가 선언한, 선언된 메서드가 오버라이드 되었음을 알려준다.
- 부모 클래스(인터페이스)에서 해당 메서드를 찾을 수 없을 때 컴파일 에러가 발생한다.
-
@Deprecated
- 해당 메서드가 더 이상 안 쓰이거나, 앞으로 이 메서드에 대한 기술적 지원(유지보수)이 없음을 말한다.
-
@SupressWarnings
- 선언한 곳의 컴파일 에러를 무시하도록 한다.
-
@NonNull
- 이게 붙어있는 변수, 메서드에 null을 대입하면 경고가 나온다.
-
@Nullable
- null알 수도 있다.