In computer science, OOP or Object Oriented Programming is a technique that makes programming secure and more easer by arranging data into different classes. Source code was often convoluted and hard to maintain before OOP. Smalltalk is the inventor of OOP introduced in 1972, and later, in 1979, the most well-known OOP language, C++, introduces and become very famous. Well, known OOP languages, including Objective-C, Python, Java, and PHP are used to write computer applications. Main three concepts of OOP are:

OOPs Concepts

  1. Object
  2. Class
  3. Inheritance
  4. Polymorphism
  5. Abstraction
  6. Encapsulation

Object Oriented Programming

The “object” in an Object Oriented Programing language is an instance or specific type of the class. According to structure, each Object has a structure related to other objects in the class, but it can be allocated individually. An object can be called a method or function, particularly to that object. The important features which are helping to design the object-oriented programming and design is given below:

  • Development over the designed programming.
  • Importance of data rather than algorithms.
  • Procedural abstraction is perfected by data abstraction in OOP.
  • Data and associated processes are unified in Object Oriented Programming.

Features of Object-Oriented Programming

These twelve fundamental features of OOP are given below.

  • Encapsulation
  • Data Abstraction
  • Inheritance
  • Polymorphism
  • Extensibility
  • Persistence
  • Delegation
  • Generality
  • Object Concurrency
  • Event Handling
  • Multiple Inheritance
  • Message Passing

Object Oriented Programming allows working with classes and objects as well as the implementation. It uses the main four fundamental Object Oriented Principles. These fundamental concepts are given below

  • Encapsulation is used to hide unnecessary details in classes and deliver a simple and clear interface.
  • Inheritance explains how the class hierarchies develop code readability and support the reused functionality.
  • Data Abstraction deals with objects, and their important features and ignores all other details.
  • Polymorphism deals to work with a different object in a related manner.

Why should we use OOP?

Object-oriented programming (OOPs) is an advanced development in the world of software engineering. Using OOP in software is a nice habit because it accomplishes the three major software engineering goals, as we have shown in the following figure.

Object Oriented Programming introduction


All the features and principles of OOP are explained clearly with examples in the above task as it also describes what is Object Oriented Programming language and its characteristics.