If an object should be used as a key in a table you need a method to retrieve a number from an object that is constant for this object. This interface implements such a method that can be used. The interface function has to guarantee that the same object returns the same number over the time. However it is not guaranteed that the number is unique.