アノテーション

アノテーション（）とは、あるデータに対して関連する情報（メタデータ）を注釈として付与すること。XML等の記述形式を用いてメタデータをタグ付けする場合が多い。付与したメタデータやタグを指してアノテーションという場合もある。

 Javaにおけるアノテーション 
Javaのアノテーションはクラスやインタフェース、メソッドやフィールド、パッケージなどに対してメタデータとして付加情報を記入する機能で、Java SE 5 で追加された。アノテーションはインタフェースを実装することで自作することもできる。

 Visual C++のSAL注釈 
Microsoft Visual C++は、SAL注釈 (SAL annotation) と呼ばれる独自のソースコード注釈言語をサポートするUsing SAL Annotations to Reduce C/C++ Code Defects - Visual Studio | Microsoft Docs。SAL注釈は関数の引数や戻り値、構造体やクラスのメンバー変数（フィールド）といったC言語/C++の構文要素を修飾し、振る舞いや仕様を規定することで、これらを利用するコード上の誤りをコンパイラによって指摘することができるようになる。また、SAL注釈によって仕様が明確になり、公開されたヘッダーファイルそのものがAPIドキュメントとして利用できるようになる。Visual C++がサポートするコード分析機能（/analyze）はSAL注釈に対応しておりCode Analysis for C/C++ Overview - Visual Studio | Microsoft Docs、通常のコンパイラ警告よりも詳細なヒントやアドバイスを出力することができる。

 脚注 

 関連項目 
 注釈 - 英語Annotationの一般的な訳語
 インタフェース (情報技術)
 マーカーインタフェース
 予約語 (Java)
 属性 (コンピューティング)
 バイオインフォマティクス - 情報技術とは別に、遺伝子とその特徴に関する注釈情報をアノテーションという。

Category:Javaプラットフォーム
Category:Java specification requests
Category:メタデータ
Category:オブジェクト指向