A colored code comment

Abstraction layer

Definition: A programming concept involving information hiding where the underlying implementation and any additional complexity is generalized to a common interface. The inputs and outputs of an abstraction layer should always remain the same.