PHpullh
학습 라이브러리/Java/어노테이션 기초와 커스텀 어노테이션

JAVA · 기초 문법

어노테이션 기초와 커스텀 어노테이션

내장 어노테이션과 커스텀 어노테이션 정의 방법을 배웁니다.

기초 문법중급annotation어노테이션RetentionTarget

핵심 설명

내장 어노테이션과 커스텀 어노테이션 정의 방법을 배웁니다.

Java code

import java.lang.annotation.*;

// 커스텀 어노테이션 정의
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface Benchmark {
    int warmup() default 3;
    int iterations() default 10;
    String description() default "";
}

// 사용 예시
class PerformanceTest {
    @Benchmark(iterations = 100, description = "정렬 성능")
    public void testSort() {
        // 테스트 코드
    }

    @Override        // 컴파일 타임 검증
    public String toString() {
        return "PerformanceTest";
    }

    @Deprecated(since = "2.0", forRemoval = true)
    public void oldMethod() { }

    @SuppressWarnings("unchecked")
    public void legacyCode() { }
}

학습 팁

@Retention(RUNTIME)이면 리플렉션으로 런타임에 읽을 수 있고, SOURCE면 컴파일 후 사라집니다.

주의할 점

@Target을 지정하지 않으면 모든 곳에 붙일 수 있어 의도치 않은 사용이 발생합니다. 항상 타겟을 명시하세요.

자주 묻는 질문

어노테이션 기초와 커스텀 어노테이션란 무엇인가요?

내장 어노테이션과 커스텀 어노테이션 정의 방법을 배웁니다.

어노테이션 기초와 커스텀 어노테이션 학습 시 주의할 점은 무엇인가요?

@Target 을 지정하지 않으면 모든 곳에 붙일 수 있어 의도치 않은 사용이 발생합니다. 항상 타겟을 명시하세요.