[용어 정리] Annotation이란?
🔎 Annotation 이란
자바에서 어노테이션(Annotation) 은 소스 코드에 메타데이터를 추가하여 사용할 수 있도록 하는 기능이다.
즉, 클래스, 메서드, 필드, 변수 등에 부가적인 정보를 제공하여, 컴파일러, 런타임, 프레임워크 등이 해당 정보를 활용할 수 있도록 하는 것이다.
프로그래밍에서 프로그래머에게 정보를 주기 위해 사용하는 주석처럼, 어노테이션은 프로그램에게 정보를 주기 위해 활용된다.
public class Example {
@Override
public String toString() {
return "Example";
}
}
예를 들어, 자바에서는 위와 같이 @Override를 통해 “이 메서드는 부모 클래스의 메서드를 오버라이드한다” 라는 정보를 컴파일러에게 알려준다.
컴파일러는 해당 메서드가 상위 클래스의 메서드를 오버라이드하는지를 확인하고, 상위 클래스의 메서드와 내용이 다르면 오류를 발생시켜, 코드 안전성을 높이는 역할을 한다.
이외에도 자바에는 @Deprecated, @SuppressWarnings 등도 존재하며, 사용자 정의 어노테이션도 사용할 수 있다.
public class Example {
@Deprecated
public void oldMethod() {
System.out.println("이 메서드는 더 이상 사용하지 마세요.");
}
public void newMethod() {
System.out.println("이 메서드를 사용하세요.");
}
}
import java.util.ArrayList;
import java.util.List;
public class WarningExample {
@SuppressWarnings("unchecked")
public void addItems() {
List list = new ArrayList(); // 경고: raw type
list.add("hello");
}
}
✅ 정리
어노테이션은 코드에 메타데이터를 추가해 컴파일러나 프레임워크가 이를 인식하고 특정 동작을 하도록 돕는 강력한 기능이다.
어노테이션의 활용은 코드의 안전성과 가독성을 높이는 데 기여할 수 있다.
Leave a comment