Pergunta de entrevista da empresa Broker Consulting

What is the contract between equals() and hashCode() in Java?