Java Oops Fundamentals Tutorial
Introduction to OOPs Programming
OOPs vs Traditional Programming Styles
Basic Concepts of OOPs
Garbage Collection In JVM
Constructor and Its Types
Encapsulation In OOPs
Inheritance in OOPs
Polymorphism in OOPs
Abstraction In OOPS
Author Profile Altaf Shaikh
Altaf Shaikh

BE Engg | Python Dev | Content Writer | Founder of TeachMeBro | Blockchain Dev | Django

Abstraction In OOPS

October 15th 2020

Abstraction In OOPS
Abstraction In OOPS


Abstraction refers to the quality of dealing with ideas rather than events. It basically deals with hiding the details and showing the essential things to the user. Whenever we get a call, we get an option to either pick it up or just reject it. But in reality, there is a lot of code that runs in the background. So you don’t know the internal processing of how a call is generated, that’s the beauty of abstraction. Therefore, abstraction helps to reduce complexity. You can achieve abstraction in two ways:


Abstraction Example


a) Abstract Class:

Abstract class in Java contains the ‘abstract’ keyword. Now what does the abstract keyword mean? If a class is declared abstract, it cannot be instantiated, which means you cannot create an object of an abstract class. Also, an abstract class can contain abstract as well as concrete methods.

Note: You can achieve 0-100% abstraction using abstract class.

To use an abstract class, you have to inherit it from another class where you have to provide implementations for the abstract methods there itself, else it will also become an abstract class.


b) Interface

Interface in Java is a blueprint of a class or you can say it is a collection of abstract methods and static constants. In an interface, each method is public and abstract but it does not contain any constructor. Along with abstraction, interface also helps to achieve multiple inheritance in Java.

Note: You can achieve 100% abstraction using interfaces.


So an interface basically is a group of related methods with empty bodies.

interface program example

abstraction implementation example code