У меня есть интерфейс Foo.Я реализовал это в классе FooImpl.Я определяю структуру данных, в которой создается набор Foo: Set mySet = new HashSet <> ()
Где я должен переопределить hascode и equals - я должен определить их в самом интерфейсе как контракт?