![[인프런 워밍업 클럽_0기 BE] 첫번째 과제 - Annotation](https://cdn.inflearn.com/public/files/blogs/dc87c7a3-f870-4882-90ad-af46eefcdc37/이거.png)
[인프런 워밍업 클럽_0기 BE] 첫번째 과제 - Annotation
2024.02.21
<과제 내용>
우리는 최초로 API를 만들어 보았습니다. GET API를 만들기 위해 사용했던 어노테이션에 익숙하지 않다면 자바 어노테이션에 대해서 몇 가지 블로그 글을 찾아보세요! 다음 질문을 생각하며 공부해보면 좋습니다! 😊
어노테이션을 사용하는 이유 (효과) 는 무엇일까?
나만의 어노테이션은 어떻게 만들 수 있을까?
1. 어노테이션(Annotation) 을 사용하는 이유(효과) 는 무엇일까?
어노테이션은 다른 프로그램에게 유용한 정보를 제공하기 위해 사용되는 것으로 주석 과 같은 의미를 가진다.
어노테이션은 @을 사용하여 작성하며 해당 타겟에 대한 동작을 수행하는 프로그램 외에는 다른 프로그램에게 영향을 주지 않는다.
스프링에서 어노테이션을 사용하면 코드량이 감소하고 유지보수하기 쉬우며 생산성이 증가된다.
어노테이션의 종류
표준 어노테이션 - 자바에서 기본적으로 제공하는 어노테이션
(@Override, @FunctionalInterface 등)
메타 어노테이션 - 어노테이션으로 어노테이션을 정의하는 데 사용
(@Target, @Documented, @Retention 등)
사용자 정의 어노테이션 - 사용자가 직접 정의하여 사용하는 어노테이션
2. 나만의 어노테이션은 어떻게 만들 수 있을까?
다음은 메타 어노테이션의 예제이다.
어노테이션은 인터페이스 앞에 @를 붙여서 생성할 수 있다.
package inflearn;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
// 2개의 String 값을 받을 수 있는 간단한 커스텀 어노테이션
public @interface MyAnnotation {
String name();
String value();
}
package inflearn;
@MyAnnotation(name="someName",
value = "Hello world")
public class TheClass{
}
댓글을 작성해보세요.