回答編集履歴
1
例のコードについて解説
test
CHANGED
@@ -15,3 +15,7 @@
|
|
15
15
|
|
16
16
|
|
17
17
|
equalsメソッドは、**自分と引数として渡されたオブジェクトが「同じ」であるかどうかを判定する**ためのメソッドです。**何をもって「同じ」とするかはクラスの設計者が決める必要があります。**何も設計しなければ`==`での比較と全く同じ効果になります。設計に応じて、equalsメソッドをオーバーライドすることで、希望通りの比較ができるようになるのです。
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
例として出されたコードでは、2つのHeroオブジェクトを作り、名前をともに"ミナト"に設定し、HPを100に設定しました。しかしあくまで**これらのHeroは別個のオブジェクト**です。別々のHeroに、同じ名前、同じHPを設定しただけで、別のものなのです。なので`==`での比較もfalseになるし、「同じ」の定義を`==`と一緒にしているequalsメソッドでもfalseになるのです。
|