Interfaces (General)
In short: An interface is the defined place through which two systems or components talk to each other.
In more detail: It specifies what is offered without revealing how it works internally.
In Depth
Types
- Software: interfaces in Java, APIs, function libraries.
- Hardware: USB, HDMI, SATA.
- Human-machine: GUI, command line.
- Data: file formats (JSON, XML).
Good interfaces are stable, documented and small. See interface, REST.