jargon

Design patterns·Objects, messages and the principles

you stopped caring which of the three implementations you had, and the code got shorter in every caller.

Abstraction

Also calledabstracting, abstract over

A name for a capability that hides which particular thing provides it, so callers depend on the promise rather than the machinery. The word is used loosely for both the act — pulling a common shape out of two similar things — and the artefact, the interface or type that results. The cost is that every abstraction is a bet that the two things really are the same, and the ones that turn out wrong are more expensive to undo than the duplication they replaced.

Commonly confused with