TOP書籍連動> アノテーションを使ってみよう
まるごとEclipse!
最新Eclipse 3.1によるEclipse再入門

第3回:アノテーションの使用

著者:DTS  木村 真幸(KIMURA, Masayuki)   2006/02/22
1   2  3  次のページ
アノテーションを使ってみよう

   Eclipseの基本的な動作を押さえたところで、J2SE 5.0の新機能であるアノテーション(Annotations)を使ってみましょう。

   アノテーションとは、クラスやメソッド、フィールドなどのプログラム要素に対して、プログラム的に意味付けを行うことです。アノテーションを使わない場合、ソースコードにコメントを挿入したり、別途ドキュメントを作成するなどしてプログラム要素の意味を残すのが普通です。

   しかし、これはプログラムコードと必ずしも同期しているわけではなく、時とともにドキュメントがプログラムに対して古くなってしまうというのは読者にも経験があるのではないでしょうか。

   ここでは、よく使われると思われる「Overrideアノテーション」「Deprecatedアノテーション」「SuppressWarningsアノテーション」を使ってみます。

   事前準備として、「Annotations」プロジェクトとパッケージ名「jp.co.impress.example」の「AnnotationsExample」クラスを作成します(作成方法は前回を参照してください)。


Overrideアノテーション

   Overrideアノテーションは、メソッドのオーバーライドの記述ミスなどを確実に防ぐためのものです。エディターの右クリックから「ソース → メソッドのオーバーライド/実装」を選択します(図1)。

メソッドのオーバーライド
図1:メソッドのオーバーライド
(画像をクリックすると別ウィンドウに拡大図を表示します)

   メソッドをオーバーライド/実装ウィンドウから「toString()」をチェックして、「OK」をクリックします(図2)。

toStringメソッドのオーバーライド
図2:toStringメソッドのオーバーライド

   toString()メソッドがオーバーライドされ、メソッドの1行上に「@Override」とアノテーションが記述されています(図3)。

Overrideアノテーションが記述されたメソッド
図3:Overrideアノテーションが記述されたメソッド

   これだけではOverrideアノテーションの意味がわかりづらいので、toStringメソッドの名称をxxStringに変えてファイルを保存します。すると、Overrideアノテーションが記述されているので、コンパイル時にxxStringメソッドがスーパークラス(ここではjava.lang.Objectクラス)のメソッドとして定義されているかどうかの検証が行われます。

   コンパイラは親クラスにxxStringメソッドが定義されていないのを検知し、オーバーライドが正しく行われていないことをエラーとして通知します(図4)。

Overrideアノテーションによりエラーが検出
図4:Overrideアノテーションによりエラーが検出
(画像をクリックすると別ウィンドウに拡大図を表示します)

   なお、@Overrideの記述がない場合は検証が行われないため、通常のメソッドとしてコンパイルされ、エラーは発生しません。単純なミスで時間を浪費しないように@Overrideの記述を忘れないようにしましょう。

1   2  3  次のページ

DTS  木村 真幸
著者プロフィール
株式会社DTS システム開発本部 産業事業部
木村 真幸(KIMURA, Masayuki)

開発プロセス、Strutsベースのフレームワーク開発担当。プロジェクトの技術支援やセミナー講師も行う。多忙な毎日で子供には「たまに来る優しいおじさん」と思われている。

INDEX
第3回:アノテーションの使用
アノテーションを使ってみよう
  Deprecatedアノテーション
  Eclipseの小技&ちょっとうれしいプラグイン