JAVA/포스팅

자바 애너테이션

짜집퍼박사(짜박) 2023. 11. 21. 23:46

자바 애너테이션(Annotation)은 소스 코드에 메타데이터를 추가하는 방법 중 하나로, 프로그램에게 코드에 대한 정보를 제공합니다. 애너테이션은 주로 컴파일러, 개발 도구, 프레임워크 등에게 추가적인 정보를 제공하여 코드를 분석하거나 생성하는 데 사용됩니다. 애너테이션은 @ 기호로 시작하며, 자바 5(자바 1.5)부터 도입되었습니다.

애너테이션은 주로 다음과 같은 목적으로 사용됩니다.

 

1. 컴파일 타임 체크: 애너테이션을 사용하여 코드의 오류를 미리 방지하고, 컴파일러에게 특정한 경고나 에러를 생성하도록 지시할 수 있습니다.
2. 런타임 처리: 애너테이션을 사용하여 런타임 시에 코드의 동작을 변경하거나 수정할 수 있습니다.
3. 문서화: 애너테이션을 사용하여 코드의 문서화에 도움을 주고, 특정 요소에 대한 설명을 추가할 수 있습니다.

4. 코드 분석: 애너테이션을 사용하여 소스 코드를 분석하거나 특정 작업을 수행하는데 필요한 정보를 추출할 수 있습니다.

 

애너테이션을 정의하려면 @interface 키워드를 사용합니다. 애너테이션은 인터페이스의 형태를 가지며, 기본적으로 java.lang.annotation.Annotation 인터페이스를 상속합니다.

다음은 간단한 애너테이션을 정의하는 예제입니다.

import java.lang.annotation.*;

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface MyAnnotation {
    String value() default "default value";
    int count() default 0;
}

위의 코드에서 @Retention과 @Target은 애너테이션의 유지 정책과 대상을 지정하는 메타 애너테이션입니다. MyAnnotation은 사용자가 정의한 애너테이션으로, value와 count라는 속성을 가지고 있습니다.

애너테이션을 사용할 때에는 다음과 같이 @ 기호를 이용하여 선언합니다.

public class MyClass {
    @MyAnnotation(value = "Hello", count = 3)
    public void myMethod() {
        // 메서드 내용
    }
}

위의 예제에서 @MyAnnotation은 myMethod 메서드에 적용되어 있습니다. 이제 이 애너테이션을 분석하고 활용하는 코드를 작성할 수 있습니다. 애너테이션을 활용하는 방법은 사용자가 직접 정의한 목적에 따라 다양합니다. 일반적으로는 리플렉션(Reflection)을 사용하여 런타임에 애너테이션 정보를 읽어오거나, 프레임워크나 빌드 도구에서 특정한 작업을 수행하도록 하는 데에 활용됩니다.

 

With ChatGPT

'JAVA > 포스팅' 카테고리의 다른 글

자바 메타 애너테이션  (0) 2023.11.21
자바 표준 애너테이션  (0) 2023.11.21
자바 열거형의 이해  (0) 2023.11.20
자바 열거형에 멤버 추가하기  (0) 2023.11.20
자바 열거형의 정의와 사용  (0) 2023.11.20