1. Если два объекта равны по `equals()`, то их `hashCode()` обязан быть одинаковым 2. Если у двух объектов одинаковый `hashCode()`, они НЕ обязательно равны по `equals()` - это коллизия 3. Вывод: переопределили `equals()` - переопределили `hashCode()`