본문 바로가기

JAVA

JAVA(2022.05.30) - Annotation(어노테이션)

Annotation

- 어노테이션은 주석이라는 의미를 가진다 

- 어노테이션은 클래스나 메소드 위에 붙인다 @(at)기호로 이름이 시작한다 

- 어노테이션을 클래스나 메타코드에 붙인 후, 클래스가 컴파일되거나 실행될 때 어노테이션의 유무나 어노테이션에 설정된 값을 통하여 클래스가 좀 더 다르게 실행되게 할 수 있습니다

- 설정파일처럼 설명하는 경우도 있다

- 사용자가 직접 작성하는 어노테이션을 Custom 어노테이션이라고 한다 

 

Custom 어노테이션을 이용하는 방법 

- 어노테이션을 정의한다

- 어노테이션을 클래스에서 사용한다(타켓에 적용)

- 어노테이션을 이용하여 실행 

 

ex) 

    import java.lang.annotation.Retention;
    import java.lang.annotation.RetentionPolicy;

    @Retention(RetentionPolicy.RUNTIME)
    public @interface Count100 {

    }
    public class MyHello {
        @Count100
        public void hello(){
            System.out.println("hello");
        }
    }
    
    import java.lang.reflect.Method;

    public class MyHelloExam {
        public static void main(String[] args) {
            MyHello hello = new MyHello();

            try{
                Method method = hello.getClass().getDeclaredMethod("hello");
            if(method.isAnnotationPresent(Count100.class)){
                    for(int i = 0; i < 100; i++){
                        hello.hello();
                    }
                }else{
                    hello.hello();
                }
            }catch(Exception ex){
                ex.printStackTrace();
            }       
        }
    }

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

*위 게시물은 프로그래머스<자바중급>을 복습하며 작성한 글입니다*