What s abstraction?
Abstraction is a process of hiding the implementation details from the user.
Only the functionality will be provided to the user. In other words, the user will have the information on what the object does instead of how it does it.
Abstract classes & Methods:
Abstract classes are always declared by abstract keyword.
It can have both abstract method (mtd without body) as well as non-abstract methods
Note: Abstraction classes achieve partial abstraction.
Interfaces on the other hand are used for 100% abstraction.
eg: Parent class contains the rule, and all child classes inherit parent class and use the methods in the parent class as a reference to build their own configurations.
If there is any method in the class which is abstract, then the class will be treated as abstract.
Every abstract class is created to implement and we use extends keyword to implement it.