프로그래머호이잇

[Java/자바 기초] annotation 만들기! 본문

java

[Java/자바 기초] annotation 만들기!

호이잇! 2017. 1. 3. 16:28

저는 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 에서 많이 쓰이는 만큼 유용한 기술 입니다~