java.lang.annotation.Retentionメタ・アノテーション

アノテーションで定義された情報は、その情報を参照可能な範囲を定義できる。
範囲としては、以下の範囲がある。

  1. ソースコードまで(コンパイルすると消える。)
  2. ソースコード〜クラスファイルまで(実行時のVMの中には存在しない。)
  3. ソースコード〜クラスファイル〜実行時のVM

Retentionメタ・アノテーションでは、上記の範囲をenumjava.lang.annotatoin.RetentionPolicyを用いて定義する。


実際にコードを書いてみようと思ったけど、RetentionPolicy.SOURCEと、RetentionPolicy.CLASSの検証がめんどいのでやめ。