다음 중 하나에 해당한다면 재정의하지 않는 것이 좋다.
그렇다면 재정의가 필요한 시점은 언제일까?
equals 재정의 시 반드시 일반 규약을 따라야 한다.
x
에 대해 → x.equals(x) = true
x, y
에 대해 → x.equals(y) = true
than y.equals(x) = true
x, y, z
에 대해 → x.equals(y) = true && y.equals(z)
than x.equals(z) = true
x, y
에 대해 → x.equals(y) = true
반복 호출하면 항상 true/false 반환x
에 대해 → x.equals(null) = false