Value equality (source code)

= Value equality

Equality according to the abstract content a <software class> exposes, rather than <object identity>. Distinct <software objects> can be equal by value. A <Java> `equals(Object)` override should define an <equivalence relation> and agree with its <hash code>. Equal content can have different internal subdivisions: occupied colour runs, for example, can be equal despite different brick boundaries.