определяем поведение, которое впоследствии будет реализовано в каком-то классе
как будут вести себя наследники без каких-либо деталей
нет ни какой реализации
абстрактные методы
не может быть конструкторов
не может содержать поля классов
описывается сигнатура методов
публичный контракт взаимодействия по умолчанию все члены интерфейса имеют модификатор public
Полиморфизм Передаётся тип данных — это тип интерфейса в качестве параметра будет принимать объект класса, который у нас будет реализовывать интерфейс.
интерфейс может содержать свойство свойство — это методы, которые маскируются