Annotation이란?

최태양 (choittttt)·2024년 3월 8일

평소에 우리가 많이 쓰는 주석은 더 직관적이고 코드를 이해하기 쉽게 하며, 다른 사람에게 설명할 수 있도록 정보를 제공하는 역할이다.

바로 어노테이션이 주석과 비슷한 역할을 담당한다고 할 수 있다.

어노테이션이란? (Annotation)

  • 컴파일러에게 문법 에러를 체크하도록 정보를 제공한다.
  • 프로그램을 빌드할 때 코드를 자동으로 생성할 수 있도록 정보를 제공한다.
  • 런타임에 특정 기능을 실행하도록 정보를 제공한다.

종류

자바에서 기본적으로 제공하는 표준 어노테이션, 어노테이션을 정의하는 데 사용되는 메타 어노테이션, 사용자 어노테이션이 있다.

표준 어노테이션

프로그래밍 언어나 프레임워크에서 이미 정의되어 있는 어노테이션

@Override
컴파일러에게 메서드를 오버라이딩하는 것이라고 알린다.

@Deprecated
앞으로 사용하지 않을 대상임을 알린다.

@FunctionalInterface
함수형 인터페이스라는 것을 알린다.

메타 어노테이션

다른 어노테이션을 위한 메타 정보 제공

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

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

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

사용자 정의 어노테이션

개발자가 직접 정의하여 사용하는 어노테이션

사용자 정의 어노테이션을 만들기 위해서는 @inferface 키워드를 사용한다.
@Component @Service @Controller 등의 어노테이션이 있다.

profile
Better Than Yesterday

0개의 댓글