Является ли контракт для интерфейса как объекта классу?
В чем заключается необходимость различать идентичные вещи, например, от кода до исполняемого кода? Я как бы понимаю идею присвоения классу класса и экземпляра исполняемого класса объекту, но в целом это единственная причина для этих полу-избыточных терминов?