CH12-23,24 애너테이션이란?
[자바의 정석 - 기초편] ch12-23,24 애너테이션
이번시간부터는 애너테이션에 대해 배워보겠다.
애너테이션(annotation)은 주석처럼 프로그래밍 언어에 영향을 미치지 않으면서 프로그래머에게 유용한 정보를 제공하는 기능이다.
예전에는 소스코드와… 소스코드를 설명하는 문서를 따로 관리했다. 이렇게 되면 소스코드가 변경되면 문서도 변경해줘야 하는데 이걸 자주 잊어서.. 소스코드가 1.8이나 되어도 문서가 1.1인… 관리가 안되는 현상들이 많았다.
그래서! 문서와 소스코드를 합쳐서 하나로 만들어버리기 시작했다. 소스파일에 주석을 달기 시작함…
javadoc.exe는 소스파일 내의 주석들을 추출해서 하나의 문서로 만들어준다.
애너테이션도 위와 비슷한 맥락에서 등장했다. 이번에는 소스코드와, 해당 소스코드의 설정파일이 분리되어있는 문제였다. 보통 설정파일들은 XML확장자로 따로 관리되곤 했었다. 이번에도 역시나 양자간의 버전차이문제가 생겼고, 이 설정정보와 소스파일을 합치기로 했다. 그게 바로 애너테이션의 등장 역사이다.
이 애너테이션은 특정 프로그램에게만 유효하다. 자바컴파일러에게는 아무런 의미가 없고, JUnit이라는 특정 프로그램에게만 유효함. 해당 프로그램에게 프로그램의 설정정보를 전달해준다.
자바의 Annotation이라는 인터페이스 소스코드의 일부이다. 여기보면… \** … */로 시작하고 끝나는 주석이 있다. 바로 이 부분이 javadoc.exe를 위한 주석부분이다.
이런 주석들 중에서도… 특별히 애너테이션이라고 지칭하는건,
이런것을 말한다. JUnit이라는 단위테스트 프로그램에게 알릴때사용하는 것인데, 어떤 메서드가 테서트 대상인지를 알리기 위해 위같은 설정정보를 담아서 JUnit에게 알린다. 이럴때 애너테이션이 사용된다.
표준 애너테이션이 있다.
이건 자바에서 제공하는 애너테이션들임