It is the concept of using objects in programming. It is a paradigm that uses objects and classes aim to implement real-world entities. The entities such as inheritance, abstraction, polymorphism, etc that are used in programming.
The main goal of an OOP is to tie together the data and its method in a single object so that no other block of code can access that data but only that function. And thus, it also makes it easier to work with.
The main principle of OOP are:
It is one of the main features of Object-Oriented Programming (OOP). Inheritance is one of the processes or mechanisms in OOP in which one class(sub-class) acquires the properties(data members) and functionalities(methods) of another class(parent-class).
- Super Class: The class whose properties and functionalities are inherited by the Subclass is known as the superclass(a parent class or a base class).
- Sub Class: The class that inherits the property and behavior of the other class(Superclass) is known as subclass( a derived class, extended class, or child class).
//field and methods
class sub extends Super
//its own field and methods
Encapsulation is one of the four fundamental OOP concepts. Encapsulation in Java is defined as the wrapping up of data(variable) under a single unit. The use of an Encapsulation is to make sure that implementation detail or we can say sensitive data is hidden from the users. For this, Encapsulation is also known as data hiding.
Benefits of Encapsulation:
- Data- hiding in Java.
- The class field can be made read-only or write-only.
- It provides the class the total control over the data.
public class Student
private String name; // private
public String getName()
public void setName(String newName)
this.name = newName;
Data abstraction is the process of hiding the details but only displaying the relevant information to the users, which is hiding the implementation details and displaying only its functionalities. this is one of the main advantages of using abstraction.
Abstraction is one of the four major concepts behind object-oriented programming (OOP).
In java, abstraction can be achieved in two ways.
- Abstraction class.
Polymorphism means having many forms. The word “poly” means many and “morphs” means forms. In java, it is a concept that allows the user to perform a single action in different ways.
In Java polymorphism is mainly divided into two types:
- Compile-time Polymorphism or Static Polymorphism: flow of control is decided at compile time itself and if any error found, they are resolved at compile time.
- Runtime Polymorphism or Dynamic Polymorphism: is a process in which a call to an overridden method is resolved at runtime.