Abstraction is the act of removing excessive details to arrive at a representation of a problem that consists of only the key features
Representational Abstraction involves analysing what is relevant to a given scenario and simplifying a problem based on this information
Abstraction by generalisation is grouping together similarities within a problem to identify what kind of problem it is.
Data abstraction is a type of abstraction in which details about how data is being stored are hidden. Therefore programmers can use abstract data structures such as stacks and queues without knowing how they work.
Abstraction is a simplified representation of reality. Real-world entities may be represented using computational structures such as tables and databases
Object-oriented programming makes use of objects, which are also an abstraction for real-world entities.