Object-Oriented Programming System (OOPS) Concepts in Java

Object-Oriented Programming System (OOPs) is a methodology to represent real-world entities into programming. Many programming languages follow OOPs principles, including C++, Java, PHP, C#, and Python. Java supports all OOPs principles except multiple inheritance.

Concepts of OOPs:

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


Class defined as a blueprint for an object. We can create as many Objects for a class. It is often referred to as a template to create an object. Java allows a programmer to create your type using classes. In java String is not a primitive data-type it is class.


An object defined as an instance of the class. The object was having two characteristics states (attributes) and behaviours
If you consider a dog is an object. The states or attributes of the dog are Breed, Age, and Color. Behaviours are Eat, Sleep, and Bark.


Inheritance means acquiring the properties and behaviours of another class. It is one of the key features of OOPs (Object Oriented Programming System). By using inheritance, we can reuse the attributes and methods from other classes (superclass).
Inheritance in Java is a way for a class to inherit characteristics from another class. This allows for code reusability, because a new class can be created by extending an existing class and adding new features to it, without having to write all the code from scratch. This means that the new class automatically has all the features of the existing class, plus any additional features that are added to it.


Abstraction is the process of showing what is essential to the user and hiding all non-essential details. In java, we can implement the abstraction using Abstract classes and Interfaces.
Abstraction in Java is a programming concept that allows developers to focus on the essential features of an object, without worrying about the underlying details. Abstraction allows developers to create complex systems made up of objects that have well-defined interfaces, making it easier to work with those objects and reason about their behavior. 


In Java, encapsulation refers to the concept of wrapping data and methods together in a single unit, known as a class. Encapsulation is a fundamental principle of object-oriented programming, and it is achieved in Java through the use of access modifiers.

Access modifiers, such as public, private, and protected, determine which parts of a class can be accessed by other parts of the program. For example, a private field or method can only be accessed within the class that defines it, whereas a public field or method can be accessed by any other class.

Encapsulation allows Java developers to control the visibility and accessibility of the data and methods in a class. This helps to prevent data from being accessed or modified in unintended ways, and it also helps to organize and structure the code in a more logical and maintainable way. Encapsulation is a key feature of Java that supports the development of robust, reliable, and maintainable software.



In Java, polymorphism refers to the ability of a variable, object, or function to take on multiple forms. There are two main types of polymorphism in Java: static polymorphism and dynamic polymorphism.

Static polymorphism is achieved through method overloading, which allows a class to have multiple methods with the same name but different parameters. This allows a single method to perform different operations depending on the number and type of arguments passed to it.

Dynamic polymorphism is achieved through method overriding, which allows a subclass to provide its own implementation of a method that is already defined in a superclass. This allows an object to behave differently depending on its type at runtime.

Polymorphism is an important concept in Java because it allows for greater flexibility and code reuse. It enables Java developers to write code that can adapt to different situations and scenarios, making it more versatile and maintainable.

Post a Comment