What is Abstraction? Hiding implementation details and showing only essential features using abstract class and abstract methods.