[인프런 워밍업 클럽_0기 BE] 첫번째 과제 - Annotation

[인프런 워밍업 클럽_0기 BE] 첫번째 과제 - Annotation

 

<과제 내용>

우리는 최초로 API를 만들어 보았습니다. GET API를 만들기 위해 사용했던 어노테이션에 익숙하지 않다면 자바 어노테이션에 대해서 몇 가지 블로그 글을 찾아보세요! 다음 질문을 생각하며 공부해보면 좋습니다! 😊

  • 어노테이션을 사용하는 이유 (효과) 는 무엇일까?

  • 나만의 어노테이션은 어떻게 만들 수 있을까?

 



1. 어노테이션(Annotation) 을 사용하는 이유(효과) 는 무엇일까?

어노테이션은 다른 프로그램에게 유용한 정보를 제공하기 위해 사용되는 것으로 주석 과 같은 의미를 가진다.

어노테이션은 @을 사용하여 작성하며 해당 타겟에 대한 동작을 수행하는 프로그램 외에는 다른 프로그램에게 영향을 주지 않는다.

 

스프링에서 어노테이션을 사용하면 코드량이 감소하고 유지보수하기 쉬우며 생산성이 증가된다.

 

  • 어노테이션의 종류

  1. 표준 어노테이션 - 자바에서 기본적으로 제공하는 어노테이션

(@Override, @FunctionalInterface 등)

  1. 메타 어노테이션 - 어노테이션으로 어노테이션을 정의하는 데 사용

(@Target, @Documented, @Retention 등)

  1. 사용자 정의 어노테이션 - 사용자가 직접 정의하여 사용하는 어노테이션

 

 

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{

}

 

 

 

 

 

댓글을 작성해보세요.

채널톡 아이콘