почему мы должны переопределить equals и hashcode в java и почему мы не можем использовать реализацию класса Object

ребята, пожалуйста, дайте мне знать, в реальном мире, почему мы должны переопределить equals и hashcode и не можем использовать равные и hashcode объекта.