OOP – Introduction

Advantages of OOP

OOP provides advantages over traditional structural programming languages. OOP facilitates writing applications by turning real-world objects into code components. OOP enables users to model real-world objects. Modeling means representing real-world objects as components in Java. Object-Oriented Programming allows programmers and customers to use the same terminology to explain the business domain and the program.


In Summary:

  • Enables the use of real-world modeling

  • Promotes the reuse of code

  • Provides flexibility in the modification of an existing application

  • Helps with the maintainability of code.

Let’s go in detail with the advantages…

Enables the use of real-world modeling

Consider an example. A car is an object that has specific attributes, such as an engine and wheels. Using OOP principles, you would model the car as a car object in Java that would have the same properties.

Creating applications that model the real world closely enables developers to understand an application faster than any other applications. Therefore, an application that implements OOP concepts effectively is implemented and used.

Promotes the reuse of code

Another advantage of OOP is that it promotes the reuse of code. The code used to define an object can be shared by several objects of an application. For E.g.: the code used to design a type of car can be used for designing different types of cars. This saves you from rewriting code for various types of cars. A benefit of code reuse is that it reduces the amount of code to write, debug, test, and possibly upgrade in the future.


Provides flexibility in the modification of an existing application


OOP promotes flexibility in the design and implementation of a solution. Maintenance and upgrades are seen as further cycles in application development. By using OOP practices, applications become easier to extend.

Consider an example of XYZ Corporation. The application used by the production department of this organization is currently designated to create two types of chairs, plastic and metal. To meet the demands of its customers, the organization decides to produce wooden chairs as well. To meet the change in the requirement, the XYZ

corp. needs to incorporate changes into its current application system. If the current system was built using OOP best practices, extensions to the system may be simplified. For Eg: the new chair type would be able to share or reuse some of the other chair types’ code.


Helps with the maintenance of Code


Finally, OOP helps in the maintenance of code. By using OOP, you can create separate components for different requirements. In OOP, a component is known as a class. For example, to design a payroll system of an organization, you could create classes such as Employee and Payroll. By creating the Employee and the Payroll classes, information related to each class can be segregated. An internal change in one of these classes should not affect the functionality of the other class. Therefore, the maintenance of a system is simplified by reducing dependencies in between classes.


OOP Design Principles

An application that implements Object-Oriented Programming (OOP) concepts is distinguished by four design principles. The four design principles are encapsulation, abstraction, inheritance, and polymorphism.


Encapsulation hides the inner workings of an object from outside users of the object. This protects outside users from making internal changes or optimizations to such objects. The object needs only to maintain its external functionality to support its clients. Internal details, such as data representation, should not be accessible externally.



The principle of abstraction is modeling real-world objects as objects in Java. However, these objects are only modeled at a certain level of detail. Only the behavior and data that is needed by your application will be included in your model.

The abstraction design principle focuses on the essential characteristics of an object. In OOP, abstraction defines the conceptual boundaries of an object. These boundaries distinguish one type of object from another


The inheritance design principle allows a class to inherit the characteristics of another class. When inheritance is used in an application, the application consists of classes that are arranged in hierarchies. The classes defined at the lower levels of a hierarchy inherit from the classes higher up in the hierarchy.

By creating a hierarchy of classes, the characteristics and code of a class are made reusable. A class can inherit characteristics from other classes and provide additional features. The new class has its own attributes and the attributes of the existing class. This feature provides extensibility and reusability in classes.



Polymorphism refers to the ability of an object to take on different forms depending upon the situation. Consider an example of a class Sedan that inherits from the class Car that inherits from the class Vehicle. An instance of the Sedan class can be referred to as a Sedan, a Car, or a Vehicle.

Polymorphism provides flexibility to an application based on requirements. It simplifies coding and reduces the rework involved in developing and modifying an application. This is because different types of objects can react to the same type of stimulus.

Related Post:
Inheritance | Polymorphism | Encapsulation

34 responses to “OOP – Introduction

  1. Pingback: OOPS Concepts « Bhuvana Sundaramoorthy’s Blog

  2. hi this guru

  3. Hitesh Khatri

    Its is good material to clear the concept of OOPS

  4. pls send me material about OOPS concept, im keen to learn this concept

  5. Plese send me the materials for OOPS concept as i am interested in it for studying

  6. @boopathi ,Ganeshkumar

    You can subscribe to the blog…


    It will send you the post to you email address

  7. Pingback: OOP Concept - Inheritance « IDYN Solutions

  8. Pingback: OOP Concept - Encapsulation « IDYN Solutions

  9. hi please send me the full concept of oops

  10. more detail about abstract class is required

  11. more infomation about abstract class is required thank u

  12. i need more information about OOP’s concepts please..can u send it to kalpanareddy@gmail.com

  13. Vijay Bhaskar.V

    Hi I’m new to softwate and I want to learn about OOPs, please send basic info on OOPs to vanam8@gmail.com.

  14. can u give some realtime example about polymorphism

  15. Hi, send me send me the full concept of oops

  16. Hi, please send me Full material for OOPs concepts

  17. hi,
    i want lern java
    plz send full materials bout core java,sevlets,jsp&struts

  18. Please send me other articals on OOP concetps

  19. it’s gud…but cn u tell me smthng abt….instance methods &instance variables

  20. very good notes

  21. why do u want to do a job

  22. Pingback: OOP Concept & Programming «

  23. Praveen Kumar

    Please send me material of oops concept

  24. send the materials for OOPs concepts

  25. Hi, send me send me the full concept of oops

  26. pls send me a full ooops concept interview question..

  27. Stop telling him to “plz send teh OOPS”! Nice article by the way, I never really understood what the four pillars actually meant until now.

  28. please give the notes for java in tamil for java fifth edition written by hetbert schildt.I need immediately.please send it atleast tomorrow on wards.Otherwise please send the name of an auther(or)the name of the book in tamil.It’s very urgent

  29. plz send me full oops question with answer

  30. Thank you sharing the knowledge. Is there a any recommended book j2ee as your point of view. I want to study those any and feedback will be greatly appreciated.

  31. please send me full oops material

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s