Abstraction

Abstraction (i.e., implementation hiding) is a generalization process - taking a concrete implementation and making it applicable to different, somewhat related data types.

See also Generalization