the use of abstraction mechanisms to define new concepts
Language support for abstraction in programming