BLOG main image
분류 전체보기 (313)
교육 (13)
NEIS (6)
Edufine (0)
Programmer (5)
Android Programming (1)
Internet W3 (18)
JAVA Programming (9)
JSP/Servlet (1)
Framework (7)
Spring For Beginner (4)
eGovFrame (10)
MEAN Stack (2)
NodeJS (5)
SublimeText (30)
SublimeText_Tips (18)
Eclipse (16)
JavaScript (8)
jQuery (12)
jQuery_tips (1)
Ajax (3)
DWR(Direct Web Remote) (4)
JSON(JS Object Notation) (4)
Oracle (2)
MySQL (28)
OS (16)
Download (3)
Life (10)
Favorit Site (1)
Books (2)
Healthy (1)
Stocks (1)
HTML5/CSS (1)
Python (4)
Security (7)
CISSP (0)
Ruby On Rails (5)
일기장 (0)
영어 교과서(중2) (3)
알고리즘 (0)
Go Lang (3)
VB 2010 (12)
C# (1)
정보보안기사(네트워크보안) (0)
업무 활용 엑셀 (11)
틈틈이 활용팁 (14)
하루 하루 살아가며 ……. (2)
기술 (1)
파이썬 & 데이터분석 (1)
Visitors up to today!
Today hit, Yesterday hit
daisy rss
tistory 티스토리 가입하기!
2015. 4. 23. 18:01

어노테이션(Annotation) #2

 

런타임시에 어노테이션 정보 사용하기

 

ㅁ 클래스에 적용된 어노테이션 정보 얻기

- 클래스.class의 어노테이션 정보를 얻는 메소드를 이용

 

ㅁ 필드, 생성자, 메소드에 적용된 어노테이션 정보 얻기

- 클래스.class의 당므 메소드를 이용해서

- java.lang.reflect 패키지의 Field, Constructor, Method 클래스의 배열을 얻어냄

 

 리턴타입

메소드명(매개변수) 

설명 

 Field[]

getFields() 

필드 정보를 Field 배열로 리턴 

 Constructor[]

getConstructors() 

생성자 정보를 Constructor 배열로 리턴 

 Method[]

getDeclaredMethods()

메소드 정보를 Method 배열로 리턴 

 

- Field, Constructor, Method 의 어노테이션 정보를 얻는 메소드를 이용

ex)  소스

 class XXX {

  // 필드에 설정된 어노테이션

  @Annotation  -> 얻어온다.

  int field1;

  @Annotation  -> 얻어온다.

  String fields

 

  // 생성자에 설정된 어노테이션

  @Annotation  -> 얻어온다.

  XXX() {}

  @Annotation  -> 얻어온다.

  XXX(int x) {}

 

  // 생성자에 설정된 어노테이션

  @Annotation  -> 얻어온다.

  void method1() {}

  @Annotation  -> 얻어온다.

  void method2() {}

}

 

ㅁ 어노테이션 정보를 얻기 위한 메소드

 

  리턴타입

메소드명(매개변수) 

 boolean

isAnnotationPresent(Class<? extends Annotation > annotationClass) 

 

지정한 어노테이션이 적용되었는지 여부

Class 에서 호출했을 경우 상위 클래스에 적용된 경우에도 true를 리턴한다.

Annotation

getAnnotation(Class <T> annotationClass)

 

지정한 어노테이션이 적용되어 있으면 어노테이션을 리턴하고

그렇지 않으면 null 을 리턴한다.

Class 에서 호출했을 경우 상위 클래스에도 적용된 경우 Annotation을 리턴한다.

Annotation[]

getAnnotations()

 

적용된 모든 어노테이션을 리턴한다.

Class 에서 호출했을 경우 상위 클래스에 적용된 어노테이션도 모두 포함한다.

적용된 어노테이션이 없을 경우 길이가 0인 배열을 리턴한다.

Annotation[]

getDeclaredAnnotations()

 

(필드, 생성자, 메소드) 직접 적용된 모든 어노테이션을 리턴한다.

Class 에서 호출했을 경우 상위 클래스에 적용된 어노테이션은 포함되지 않는다.

 

소스 작성

New > Annotation 클릭

 

 

 

 

 

 

반응형

'JAVA Programming' 카테고리의 다른 글

자동 타입 변환  (0) 2015.04.27
protected 접근 제한자  (0) 2015.04.27
어노테이션(Annotation) #1  (0) 2015.04.23
Getter와 Setter  (0) 2015.04.23
패키지와 접근 제한자  (0) 2015.04.23