inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[인프런 워밍업 클럽 BE 0기] 1일차 과제

7마리상어
2

[질문]


어노테이션(annotation)이란?

다른 프로그램에게 유용한 정보를 제공하기 위해 사용되는 것으로 주석과 같은 의미를 가지며, 프로그램에게 추가적인 정보를 제공해주는 메타 데이터(meta data : 데이터를 위한 속성 정보)라고 볼 수 있다. 즉, 어노테이션은 작성한 코드에 대해 추가적인 정보를 제공하면서 해당 코드에 필요한 추가적인 처리를 해주는 역할을 한다.

 

어노테이션의 역할

어노테이션을 사용하면 보다 간결한 코드를 작성할 수 있고, 더 직관적이고 코드를 이해하기 쉽게 하며, 코드의 반복을 줄여 가독성과 개발 생산성을 향상 하는 등의 여러 효과를 가진다.

 

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

어노테이션은 크게 세 가지 종류로 구분되는데 자바에서 기본적으로 제공하는 표준 어노테이션과 어노테이션을 정의하는 데 사용되는 메타 어노테이션, 마지막으로 사용자가 직접 정의하여 사용하는 사용자 어노테이션(Custom Annotation)이 있다.

 

사용자 정의 어노테이션을 사용하기 위해서는 @interface를 통해 어노테이션 클래스를 작성할 수 있다. 이렇게 작성한 어노테이션에 메타 어노테이션과 추가로 적용할 어노테이션을 적용하여 나만의 어노테이션을 만든다. (변수를 선언하여 값을 부여해 줄 수도 있다.)

<사용자 정의 어노테이션을 선언할 때 사용하는 메타 어노테이션>

@Target
어노테이션을 정의할 때 적용 대상을 지정하는 데 사용한다.

@Documented
어노테이션 정보를 javadoc으로 작성된 문서에 포함시킨다.

@Inherited
어노테이션이 하위 클래스에 상속되도록 한다.

@Retention
어노테이션이 유지되는 기간을 정하기 위해 사용한다.

@Repeatable
어노테이션을 반복해서 적용할 수 있도록 한다.

 

<출처>
https://ittrue.tistory.com/158

https://mangkyu.tistory.com/130

 

백엔드 백엔드

답변 0