同値であること・等価であること

equality.png

オブジェクトが同値であること

C++では==演算子をオーバーロードすることによって、何をもって同値とするかが定義できます。
Javaの場合は、単純にa==bとすると、インスタンスが同じであることを意味します。
つまり、aとbの実体は同じメモリ領域に格納されているってことなのです。
もし、JavaでC++のoperator==みたいなことをしたかったら、equals(Object)をオーバーロードします。
このequals()はすべての大元クラスであるObjectクラスに定義されているものです。

サポートサイト Wikidot.com