[인프런 워밍업 클럽 0기] 1일차 과제
11개월 전
<과제>
어노테이션을 사용하는 이유 (효과) 는 무엇일까?
어노테이션이란?
어노테이션은 특별한 의미, 기능을 자동으로 해주는 기술로, 주석과 같은 의미를 가진다.
소스 코드 내에 추가적인 정보를 제공하는 태그이다.
Java 5부터 도입되었다.
어노테이션은 @를 사용하여 작성한다.
어노테이션을 사용하는 이유(효과)
컴파일러에게 코드 문법 에러를 체크하도록 정보 제공
별도의 구성 파일 없이도 의존성 주입(dependency injection)과 같은 작업 수행
Spring이 관리해야 할 클래스를 쉽게 지정(ex. @Component, @Service, @Repository)
나만의 어노테이션은 어떻게 만들 수 있을까?
@interface 키워드 사용
설정할 수 있는 요소
Retention Policy : 어노테이션이 언제까지 유지될 것인지 결정
Target : 어노테이션이 적용될 수 있는 Java 요소(메소드, 필드, 클래스) 지정
Member : 어노테이션 내에서 메소드 형태로 멤버 정의 가능
<사용자 정의 어노테이션 예제>
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
// Retention Policy (런타임에도 유지)
@Retention(RetentionPolicy.RUNTIME)
// Target (여기서는 메소드에만 적용)
@Target(ElementType.METHOD)
public @interface MyCustomAnnotation {
// Member(기본값을 가질 수 있음)
String description() default "No description";
int value() default 0;
}
<사용자 정의 어노테이션 사용>
public class MyAnnotatedClass {
@MyCustomAnnotation(description = "This is a custom annotation", value = 10)
public void myMethod() {
}
}
댓글을 작성해보세요.