Interface
Noun · Development
Definitions
A contract that defines a set of method signatures without implementations, which concrete classes must fulfill. Enables polymorphism, dependency inversion, and loose coupling. In Go, interfaces are satisfied implicitly; in Java and TypeScript, they're declared explicitly.
In plain English: A promise that a class will provide certain methods, without saying how — like a job description that lists required skills without dictating how the person learned them.
Example: "Program to an interface, not an implementation — the most quoted and least followed advice in software engineering."