|
@@ -0,0 +1,39 @@
|
|
1
|
+package kr.co.swh.lecture.java.scene4;
|
|
2
|
+
|
|
3
|
+import java.lang.reflect.InvocationTargetException;
|
|
4
|
+import java.lang.reflect.Method;
|
|
5
|
+
|
|
6
|
+/**
|
|
7
|
+ * <pre>
|
|
8
|
+ * kr.co.swh.lecture.java.scene4
|
|
9
|
+ * PlusAnnotationMain.java
|
|
10
|
+ *
|
|
11
|
+ * 설명 : 어노테이션 메인
|
|
12
|
+ * </pre>
|
|
13
|
+ *
|
|
14
|
+ * @since : 2019. 3. 13.
|
|
15
|
+ * @author : tobby48
|
|
16
|
+ * @version : v1.0
|
|
17
|
+ */
|
|
18
|
+public class PlusAnnotationMain {
|
|
19
|
+ public static void main(String[] args) {
|
|
20
|
+ // PlusService 클래스에 있는 모든 메소드 얻기
|
|
21
|
+ Method[] methos = PlusService.class.getDeclaredMethods();
|
|
22
|
+ for (Method method : methos) {
|
|
23
|
+ // 메소드에 어노테이션이 적용되어 있다면
|
|
24
|
+ if(method.isAnnotationPresent(PlusAnnotation.class)) {
|
|
25
|
+ // PlusAnnotation 객체를 얻은 후,
|
|
26
|
+ PlusAnnotation greetingAnnotation = method.getAnnotation(PlusAnnotation.class);
|
|
27
|
+ System.out.print(greetingAnnotation.plus());
|
|
28
|
+ try {
|
|
29
|
+ // PlusService의 메소드를 호출
|
|
30
|
+ method.invoke(new PlusService());
|
|
31
|
+ } catch (IllegalAccessException e) {
|
|
32
|
+ e.printStackTrace();
|
|
33
|
+ } catch (InvocationTargetException e) {
|
|
34
|
+ e.printStackTrace();
|
|
35
|
+ }
|
|
36
|
+ }
|
|
37
|
+ }
|
|
38
|
+ }
|
|
39
|
+}
|