Часто вижу, как типом аргументов или возвращаемым типом ставят класс или интерфейс. Что то типа такого
Или вот я вырезал два рисунка, у которого типом объявляется интерфейс.
Как понимать такой тип данных, что из объекта получается как значение типа, как можно быть уверенным, что из класса подтянется то, что задумывалось? Ну вообще не понимаю этого вопроса. Подскажите, куда смотреть, что читать.