[Java/자바 기초] annotation 만들기!
저는 Spring 프레임 워크에 있는 Controller 어노테이션과 비슷하게 만들어볼 예정입니다.
어노테이션 이란 ?
쉽게 생각하시면 클래스에 라벨을 붙여주는 것 이라고 생각하시면됩니다. (링크 : http://www.nextree.co.kr/p5864/)
그러면 제일 처음으로 어노테이션을 정의를 해야겠죠??
이클립스를 이용하시는 분은 file -> New -> annotation 하시면 어노테이션을 만드실수 있구요~
그냥 Text 에서하시는분들은
요렇게 적어 주시면됩니다. 물론 파일명은 아시다시피 Controller.java 입니다.
위에 @Retention(RetentionPolicy.RUNTIME) 이 구문이 먼지 궁금하실텐데 이 구문은 런타임 시에도 어노테이션을 적용하겠다는 겁니다
이구문이 없으면 실행시 사라져요..ㅠㅠ
어노테이션 정리 링크 : http://jdm.kr/blog/216
여기 가시면 더 많은 것들을 알수있습니다 궁금하시면 한번가보세요~
인제 이렇게 작성하시면 어노테이션이 만들어 졌습니다~
하지만 사용을 해봐야겠죠??
클래스를 만들어서 어노 테이션을 붙여 봅시다~
이렇게 하시면 클래스에 어노테이션을 붙이신 겁니다.
이걸 어떻게 활용하냐 그게 문제인데 Class 객체를 이용하여 어노테이션 여부를 알아낼수 있답니다
보시는 것과 같이 이 코드를 입력해주 시면 name : test 라고 나오실 껍니다.
저 test 는 2번째 사진에서 설정하신 name 입니다.
이코드를 설명 드리자면 Class 객체를 가져와서 getAnnotations 라는 함수를 이용하여 현재 적용된 어노테이션을 얻어와서 Controller 어노테이션을 찾아 Controller 어노테이션의 name을 출력해주는 간단한 코드입니다~
제가 설명을 잘못해서 그렇지만 어노테이션은 Spring Framework 에서 많이 쓰이는 만큼 유용한 기술 입니다~