Gets a hash code for the Object. This makes it possible to put any Object in a hash table.
The hash code returned must:
1) be consistent, i.e. hashCode(obj) should return the same
value on multiple invocations as long as nothing has changed.
2) tell same same thing as equals(), if equals(o1,o2) is
TRUE, then hashCode(o1) == hashCode(o2) should also be
TRUE.
Note that if equals(o1,o2) is FALSE, hashCode(o1)hashCode(o2) may be either equal or non-equal.
By default, the method returns the internal memory address where the
Object is located.
Usage
## S3 method for class 'Object':
hashCode(this, ...)