어노테이션(Annitation)은 메타데이터(metadata) 메타데이터란 애플리케이션이 처리해야 할 데이터가 아니라 컴파일 과정과 실행과정에서 코드를 어떻게 컴파일 하고 처리할 것인지를 알려주는 정보 @AnnotationName - 컴파일러에게 코드 문법 에러를 체크하도록 정보를 제공 - 소프트웨어 개발 툴이 빌드나 배치 시 코드를 자동으로 생성할 수 있도록 정보를 제공 - 실행 시 (런타임 시) 특정 기능을 실행하도록 정보를 제공 대표 ex) @Override -> 메소드 선언 시 사용하는데, 메소드가 오버라이드(재정의) 된 것임을 컴파일러에게 알려줌 빌드시 자동으로 XML설정 파일을 생성하거나 배포를 위해 JAR압축 파일을 생성하는데 사용 실헹 시 클래스의 역할을 정의 어노테이션 타입 정의와 적용 ..