728x90
반응형
Java에서 어노테이션은 코드에 메타데이터를 부여하여 컴파일러나 런타임 환경에서 추가적인 정보를 제공하는 데 사용됩니다. 이 글에서는 Java 어노테이션의 개념과 활용 방법을 살펴보고, 자주 사용되는 내장 어노테이션에 대해 알아보겠습니다.
어노테이션이란? 어노테이션은 코드에 부가적인 정보를 제공하는 데 사용되며, 컴파일러나 런타임 환경에서 사용됩니다. 어노테이션을 사용하여 클래스, 메서드, 변수 등에 메타데이터를 부여할 수 있습니다.
어노테이션 의 종류:
- 내장 어노테이션 (Built-in Annotations): Java에서 기본적으로 제공하는 어노테이션으로, @Override, @Deprecated, @SuppressWarnings 등이 있습니다.
- 사용자 정의 어노테이션 (User-defined Annotations): 개발자가 직접 정의한 어노테이션으로, 프로그램의 요구에 맞게 사용자가 정의할 수 있습니다.
728x90
어노테이션 의 활용:
- 컴파일러 지시자(Compiler Directives): @Override 어노테이션은 메서드가 슈퍼 클래스의 메서드를 재정의하는지를 나타내며, 컴파일러에게 해당 사실을 알려줍니다.
- 코드 문서화(Documentation): Javadoc에서 @param, @return, @throws 등의 어노테이션을 사용하여 문서를 생성할 수 있습니다.
- 런타임 처리(Runtime Processing): Spring Framework에서 @Autowired, @Component 등의 어노테이션을 사용하여 빈을 자동으로 주입하거나 컴포넌트를 스캔할 수 있습니다.
어노테이션 의 정의 및 사용:
- 어노테이션은 @interface 키워드를 사용하여 정의됩니다.
- 어노테이션은 클래스, 메서드, 변수 등에 @AnnotationName과 같은 형태로 사용됩니다.
어노테이션 의 메타애너테이션(Meta-Annotations):
- @Retention: 어노테이션의 유지 정책을 지정합니다. SOURCE, CLASS, RUNTIME 중 하나를 선택할 수 있습니다.
- @Target: 어노테이션이 적용될 대상을 지정합니다. TYPE, METHOD, FIELD 등을 선택할 수 있습니다.
- @Documented: 어노테이션 정보가 javadoc으로 작성된 문서에 포함되도록 지정합니다.
- @Inherited: 어노테이션이 자동으로 하위 클래스에 상속되도록 지정합니다.
Java 어노테이션은 코드에 부가적인 정보를 제공하여 컴파일러나 런타임 환경에서 추가적인 처리를 할 수 있도록 도와줍니다.
반응형
728x90
반응형
'JAVA' 카테고리의 다른 글
Java try-with-resources 구문 이해하기: 자원 관리의 간편한 방법 (0) | 2024.03.07 |
---|---|
Java 직렬화(Serialization) 이해하기: 개념과 활용 (0) | 2024.03.07 |
Java 람다 표현식(Lambda Expressions) 이해하기: 개념과 활용 (0) | 2024.03.07 |
Java 리플렉션(Reflection) 이해하기: 개념과 활용 (0) | 2024.03.07 |
Java 패키지(Package) 이해하기: 개념과 활용 (0) | 2024.03.07 |