기타

[Java] 어노테이션 (Annotation)의 개념 및 종류

seulll 2025. 1. 16. 15:50

Annotation이란?

사전적 의미로 주석을 뜻한다. 자바에서 Annotation(@)은 코드 사이에 특별한 의미, 기능을 수행하도록 하는 기술이다.

어노테이션을 사용하면 코드가 깔끔해지며 재사용이 가능하다.

 

 

어노테이션의 역할

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

 

Annotation의 종류

표준 어노테이션

자바에서 기본적으로 제공하는 어노테이션이다.

 

@Override

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

 

@Deprecated

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

 

@FunctionalInterface

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

 

@SuppressWarning

컴파일러가 경고 메시지를 나타내지 않는다.

 

@SafeVaragrs

제네릭과 같은 가변 인자의 매개변수를 사용할 때의 경고를 나타내지 않는다.

 

메타 어노테이션

어노테이션에 붙이는 어노테이션으로, 어노테이션을 정의하는 데 사용한다.

 

@Target

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

 

@Documented

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

 

@Inherited

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

 

@Retention

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

 

@Repeatable

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

 

사용자 정의 어노테이션

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

 

 

참고

 https://ittrue.tistory.com/156

 

[Java] 어노테이션(Annotation) 개념 정리 및 종류

Intro 프로그래밍에서 주석은 개발자의 입장에서 더 직관적이고 코드를 이해하기 쉽게 하며, 다른 사람에게 설명할 수 있도록 정보를 제공하는 역할이다. 어노테이션 또한 주석과 비슷한 역할을

ittrue.tistory.com