Object Oriented Programming Concepts

03 January 2023

What is Object Oriented Programming?

Object-oriented programming (OOP) is a programming paradigm that is based on the concept of "objects," which are data structures that contain both data and functions that operate on that data. In OOP, objects are used to model real-world concepts and entities, and the functions within an object are used to perform actions on the data that the object contains. This allows for the creation of complex, modular programs that are easier to understand, maintain, and extend. OOP languages, such as Java, C++, and Python, support the creation of classes, which are templates for objects, and the use of inheritance, which allows classes to inherit the properties and behavior of other classes.

Why do we use OOP?

Object-oriented programming (OOP) is used for a number of reasons. Some of the main benefits of OOP include:

  1. Modularity: OOP allows for the creation of self-contained objects that can be easily reused in different programs. This makes it easier to develop, test, and maintain large, complex programs.

  2. Abstraction: OOP allows for the creation of abstract data types, which provide a high-level view of the data and hide the details of how the data is represented and manipulated. This makes it easier to understand and work with the data within a program.

  3. Encapsulation: OOP allows for the bundling of data and functions into a single unit (an object), which protects the data from outside access and modification. This makes it easier to ensure the integrity of the data within a program.

  4. Inheritance: OOP allows for the creation of classes that inherit the properties and behavior of other classes. This allows for the creation of hierarchical class structures and the reuse of code, which makes it easier to extend and maintain programs.

  5. Polymorphism: OOP allows for the creation of objects that can take on multiple forms, which allows for the creation of programs that are more flexible and adaptable. This makes it easier to create programs that can handle a variety of different inputs and situations.

The four principles of object-oriented programming are encapsulation, abstraction, inheritance, and polymorphism.


Encapsulation is achieved when each object keeps its state private, inside a class. Other objects don’t have direct access to this state. Instead, they can only call a list of public functions — called methods.




Abstraction can be considered as a natural extension of encapsulation. Applying abstraction means that each object should only expose a high-level mechanism for using it. This mechanism should hide internal implementation details. It should only reveal operations relevant for the other objects.



It means that you create a (child) class by deriving from another (parent) class. This way, we form a hierarchy.



This typically happens by defining a (parent) interface to be reused. It outlines a bunch of common methods. Then, each child class implements its own version of these methods.


Ask Us Anything !