Abstraction is the process of taking away or removing characteristics from something in order to reduce it to a set of essential characteristics. In object-oriented programming, abstraction is one of three central principles Through this process, a programmer hides all but the relevant data about an object in order to reduce complexity and increase efficiency.