アノテーションによっては書かないと、不具合が発生するものがありますが、@Override、@Testに関しては、なくてもメソッドのオーバーライドできるし、テストも動作します。やっぱりただの目印ですか。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答3件
0
プログラミングの際に、ミスに気づきやすくなる、そのアノテーションの部位で設計者が意図したことが読みやすい、などのメリットがあります。
@Overrideの場合、正しくオーバーライドされていない場合にコンパイルエラーになります。アノテーションがない場合は別メソッドとして認識されるだけです。
投稿2016/05/22 07:57
総合スコア20675
0
ベストアンサー
@Override
アノテーションは、そのメソッドがスーパークラスのメソッドをオーバーライドしていることをコンパイラに伝えるためのアノテーションです。
https://docs.oracle.com/javase/jp/6/api/java/lang/Override.html
そのため、オーバーライドしていないメソッドに対してこのアノテーションを付けると、コンパイルエラーとなります。
swordone様の回答にある通り、
ミスに気づきやすくなる
ためのアノテーションです。
@Test
アノテーションは、それがテストメソッドであることを JUnit に伝えるためのアノテーションです。
古いバージョンの JUnit では test***
という名前のメソッドだけがテストメソッドだとみなされましたが、
JUnit4 からは、このアノテーションを付けたメソッドが(どのような名前であっても)テストメソッドだとみなされるようになっています。
http://junit.sourceforge.net/javadoc/org/junit/Test.html
@Override
とは用途が異なり、こちらはフレームワークに対して「それが何を意味するものなのか」を伝えるためのアノテーションと言えます。
ところで、私もうろ覚えで恐縮なのですが、
テストも動作します。
について、Junit4以降では@Test
アノテーションを付けないとテストメソッドだとみなされなかったように記憶していますが、、
投稿2016/05/22 08:29
総合スコア4791
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
下のリンク先が参考になるかと。
投稿2016/05/22 08:06
総合スコア946
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/05/22 08:45
2016/05/22 08:56 編集
2016/05/22 09:02 編集
2016/05/22 09:04