質問: (Hero)o; if (this.name.equals(h.name)) { return true; } } return false; } } ifの中になぜ、returnがあるのかが理解できません。returnの仕組みについて教えてください。
回答: > > なぜこのコードではreturnを使うのか > > > `equals`メソッドは、「引数で与えられたオブジェクトが`this`と同じなら`true`、違うなら`false`」を返すものと決まっています。なので、適切な値を返すための`return`が必要です。 特に、「自分自身と`equals`で比較した場合には`true`を返す」ことも要求されていますので、`if (this == o)`の場合にはそれ以上考慮する必要がなく、`true`を返すこととなります。