The Java hashCode method outputs a hash creating an unique identifier for the object.
If two objects are equal, they must have the same hashCode() output.
The hashCode is generally overwritten by the developer to be an output of the natural identifier.
When the hashCode method is implemented, the equal method is also implemented to enable the equality of objects.