Abstraction
The idea behind, or purpose of, a software component. Contrast the two example sentences below:
Example 1 (abstraction):
This writer abstraction is flexible and backend-agnostic.
Example 2 (implementation):
This file system writer implementation is flexible, but backend-specific.
The first example does not mention what kind of writer the speaker is referencing. The second example, by contrast, references a specific implementation (the filesystem writer).