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

[질문]

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

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


어노테이션(annotation)이란?

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

 

어노테이션의 역할

  • 컴파일러에게 문법 에러를 체크하도록 정보를 제공

  • 프로그램을 빌드할 때 코드를 자동으로 생성할 수 있도록 정보를 제공

  • 런타임에 특정 기능을 실행하도록 정보를 제공

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

 

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

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

 

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

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

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

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

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

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

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

 

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

https://mangkyu.tistory.com/130

 

댓글을 작성해보세요.

채널톡 아이콘