In general computer science terms, an interface is form of abstraction that is a specific construct designed to give external access to a program. This term gains a more specific meaning in OO programming.
An interface is a way of separating the abstract declaration of a concept from its implementation. This is conceptually similar to an Abstract class.
|Techniques: Abstraction | Aggregation versus Composition | Association versus Dependency | Coupling | Encapsulation | Information hiding | Inheritance | Multiple Inheritance | Overloading | Polymorphism
Features: Abstract class | Class versus Object | Component versus Module | Instance | Interface | Method | Package versus Namespace | Superclass | Subclass