Native — 네이티브 상수 애너테이션

Native — 네이티브 상수 애너테이션

@Native는 상수 값을 정의하는 필드가 네이티브 코드(native code)에서 참조될 수 있음을 나타냅니다. 이 애너테이션은 네이티브 헤더 파일을 생성하는 도구가 헤더 파일이 필요한지, 필요하다면 어떤 선언을 포함해야 하는지 결정하는 힌트로 사용될 수 있습니다.

출처: Java API Reference

본문

@Documented
@Target(FIELD)
@Retention(SOURCE)
public @interface Native
  • @Target(FIELD) — 필드 선언에만 적용할 수 있습니다.
  • @Retention(SOURCE) — 소스 코드에만 유지되고 클래스 파일이나 런타임에는 남지 않습니다.

이 애너테이션은 보통 final 상수 필드에 붙여서, JNI(Java Native Interface)나 네이티브 헤더 생성 도구가 그 상수가 네이티브 측에서도 사용됨을 알 수 있게 합니다. 소스 레벨 유지 정책이기 때문에 리플렉션으로는 이 애너테이션을 확인할 수 없습니다.

더 알아보기 (Learn more)