1 The process of extracting common properties from particular examples. In programming, it typically means replacing the specific numbers and strings in a particular instance of a problem by variables and functions, so that the same program can solve many problems of the same kind.
2 A data structure or subprogram, derived by such a process of abstraction, that represents some aspect of a problem: for example a computer file can be a suitable abstraction for an accounts ledger.