toString(Objectクラスが提供)equals(Objectクラスが提供)hashCode(Objectクラスが提供)compareTo(Comparableクラスが提供)clone(Cloneableクラスが提供)IntegerやStringなどの値は、『同じオブジェクトか』(等値)より、『同じ意味か』(等価)の方が重要になる。
このような場合、equalsメソッドのオーバーライドをしたくなる。
equalsメソッドをオーバーライドする場合、次のような同値関係を満たす必要がある。