반응형
자바에서 Annotation은 별도의 properties파일이나 xml같은 설정파일에 작성하는 부가적인 정보를 어노테이션으로 간편하게 설정할 수 있다.
형태
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface Anno { public String defaultVal() default “OK”; public String val(); } | cs |
Target은 어노테이션의 적용 대상을 선정하고, Retension은 이 어노테이션의 정보가 어디 까지 유지되는지 설정한다.
@Target - Constructor, Field, Enum, Local Variable, Method, Package, Parameter, Type(Class)
@Retention - Source, Class, Runtime
@Documented - 어노테이션을 javadoc에 포함한다.
@Inherited - 어노테이션 상속을 가능케 한다.
구현된 어노테이션 사용은 다음과 같이 사용한다.
1 2 3 4 5 6 7 8 9 10 | @Anno(val = "Annotation!!") public class Member { ..... } 정의한 어노테이션에 대한 접근은 다음과 같다. Member member = new Member(); System.out.println(member.getClass().getAnnotation(Anno.class).val()); System.out.println(member.getClass().getAnnotation(Anno.class).defaultVal()); | cs |
반응형
'JAVA > JAVA 관련' 카테고리의 다른 글
java 메모리 누수 주된 원인 (0) | 2018.05.28 |
---|---|
HashMap에서 사용되는 인스턴스 객체의 equals()와 hashCode() 재 정의 중요성 (0) | 2018.05.28 |
Java Reflection 설명 및 사용법 (0) | 2018.05.28 |
Java 문자열의 toString과 valueOf의 차이 (0) | 2018.05.28 |
인스턴스 메소드와 정적 메소드 (0) | 2016.12.22 |