반응형
[ ] 자바의 정석 기초편 카테고리
chapter 12 지네릭스, 열거형, 애너테이션
chapter 12 에너테이션의 활용 예제
예제 12-8
[ ] 코드 분석
1. 원본 코드
import java.lang.annotation.*;
@Deprecated
@SuppressWarning("1111") // 유효하지 않은 애너테이션은 무시된다.
@TestInfo(testedBy="aaa", testDate=@DateTime(yymmdd="160101", hhmmss="235959"))
class Ex12_8 {
public static void main(String args[]) {
// Ex12_8의 class 객체를 얻는다.
Class<Ex12_8> cls = Ex12_8.class;
//
TestInfo anno = cls.getAnnotation(TestInfo.class);
System.out.println("anno.testedBy()="anno.testedBy());
System.out.println("anno.testDate().yymmdd()="
+anno.testDate().yymmdd());
System.out.println("anno.testDate().hhmmss()="
+anno.testDate().hhmmss());
for(String str : anno.testTools());
System.out.println("testTools="+str);
System.out.println();
// Ex12_8에 적용된 모든 애너테이션을 가져온다.
Annotation[] annoArr = cls.getAnnotations();
for(Annotaion a : annoArr)
System.out.println(a);
} // main의 끝
}
2. 해석본
import java.lang.annotation.*;
// java.lang.annotation.* 클래스 선언
@Deprecated
@SuppressWarning("1111") // 유효하지 않은 애너테이션은 무시된다.
@TestInfo(testedBy="aaa", testDate=@DateTime(yymmdd="160101", hhmmss="235959"))
class Ex12_8 {
public static void main(String args[]) {
// Ex12_8의 class 객체를 얻는다.
Class<Ex12_8> cls = Ex12_8.class;
// 지네릭 클래스의 객체 ccls 선언
TestInfo anno = cls.getAnnotation(TestInfo.class);
System.out.println("anno.testedBy()="anno.testedBy());
System.out.println("anno.testDate().yymmdd()="
+anno.testDate().yymmdd());
System.out.println("anno.testDate().hhmmss()="
+anno.testDate().hhmmss());
for(String str : anno.testTools());
System.out.println("testTools="+str);
System.out.println();
// Ex12_8에 적용된 모든 애너테이션을 가져온다.
Annotation[] annoArr = cls.getAnnotations();
for(Annotaion a : annoArr)
System.out.println(a);
} // main의 끝
}
반응형
'프로그래밍 > 자바의 정석 기초편 코드 분석' 카테고리의 다른 글
자바의 정석 기초편 코드 분석 129(예제 13-5) (0) | 2023.09.25 |
---|---|
자바의 정석 기초편 코드 분석 128(예제 13-4) (0) | 2023.09.25 |
자바의 정석 기초편 코드 분석 127(예제 13-3) (0) | 2023.09.25 |
자바의 정석 기초편 코드 분석 126(예제 13-2) (0) | 2023.09.25 |
자바의 정석 기초편 코드 분석 125(예제 13-1) (0) | 2023.09.25 |