이번에 과제로 어노테이션을 사용하는 이유에 대해서 알아볼려고한다.
이번 기회로 어노테이션에 대해서 빠삭하게 알아보자
어노테이션은 코드에서 @로 작성되는 요소를 말한다.어노테이션은 클래스 또는 인터페이스를 실행할 때 어떻게 처리해야 할 것인지를 알려주는 주석같은 설정 정보다.
크게 어노테이션은 3가지 효과가있다.
1.컴파일 시 사용하는 정보 전달
2.빌드 툴이 코드를 자동으로 생성할 때 사용하는 정보 전달
3.실행 시 특정 기능을 처리할 때 사용하는 정보 전달
어노테이션은 자바에서 정의된 어노테이션도 있지만
내가 직접 어노테이션을 만들수도있다.
먼저 커스텀 어노테이션을 만들려면
@interface[어노테이션 이름] 형태로 정의해야한다.
TestAnnotaion 이라는 커스텀 어노테이션을 생성하고 싶다면 이렇게 선언하면된다.
> @Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface TestAnnotaion {
String value() default "TestAnnotaion : default value"
}
위 어노테이션은 메서드단에 사용 할 수 있고 RunTime에 적용이된다.
커스텀 어노테이션은모든 클래스 메서드에 사용 할 수 있는데
예를 들자면
class TestObject {
@TestAnnotaion
public void testMethod1() {
System.out.println("This is testMethod1");
}
@TestAnnotaion(value = "My new TestAnnotaion")
public void testMethod1() {
System.out.println("This is testMethod1");
}
}
이렇게 만든 어노테이션은 자바의 reflection을 활용해 특정 목적으로 사용 할 수 있다.
여기까지 어노테이션에 대해서 알아보았다.