OOPS Concepts

Object-Oriented Programming is the model or methodology used for designing the program using its objects or classes. Generally, the object is the real word things like chair, pen, table or any other. OOPS, concepts generally simplify the development of software and maintain the concepts in it.

A pure object-oriented programming language is any language that follows the OOPS concepts (principles). However, Java is not a pure Object Oriented Programming language because, Java has primitive data types like int, float, double, etc.  Whereas small talk is the pure object-oriented programming language.

We have 6 concepts in OOPS namely:

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

1. Object:

ObjectAn object is an instance of a class. It is a real-world entity that denotes the behaviour and state. The objects can be logical and physical so that they can be included for the development of the software. We can use these software objects as the real-world objects found in the day to day life.

2. Class:

Class is the collection of objects. It is a logical entity. The class is the prototype or blueprint that represents the state/behaviour that the object of its type of support. Hence, the class can clean the model state or behaviour. Overloading Method is performed within the OOPS class. Class does not consume memory.

2. Inheritance:

InheritanceIn this method, a child class/derived class acquires the behaviours and properties of its parent class/base class. As a result, this provides the code reusability so that it can be useful for achieving the runtime polymorphism. Overriding Method occurs from two classes with the inheritance relationship. Overloading vs Overriding always varies with the class and parameter.

4. Polymorphism:

The word polymorphism came from two Greek words ‘poly‘ and ‘morphs‘. Here poly means many and morphs means forms.

Hence, polymorphism represents the ability of an object to assume different forms. Consequently, it enables programmers to create/write programs that are easier to understand and reuse.Polymorphism

Certainly, Polymorphism provides flexibility to the programmer to write programs that use a single method for different operations depending on the requirement.

The method can be useful for convincing the customer differently or to draw in shapes like a rectangle. For achieving polymorphism, it is necessary to use the method overriding and method overloading. The composition is a type of aggregation as the object that contains other object and when the contained objects are within the existence of object then Composition takes place. Therefore, the other name of restricted aggregation is composition.

5. Abstraction:

Abstraction is the method of showing only the functionality and hiding all the internal details(implementation). We use the abstract class for achieving abstraction. Meanwhile, the association is the special form of the abstraction as it is the relationship between two objects. The one-to-one, many-to-one, one-to-many and
many-to-many define an association between objects represents in it.

6. Encapsulation:Encapsulation

Encapsulation is the mechanism of wrapping or binding the data or code into a single unit. Hence, we can use encapsulation to preserve the internal state of an object from the outside. Java is fully encapsulated class with the private data members.


Advantage of OOPS over Procedure-oriented programming language

  1. With the help of OOPS, it will be easier for developing and maintain the software easily. Nevertheless, it will be difficult for the Procedure-oriented programming language when the code grows along with the growth of the project size.
  2. OOPS has the data abstraction feature whereas the global data could be accessed anywhere using the Procedure-oriented programming language so this process is risky.
  3. In conclusion, simulating the real-world event effectively is easier with the OOPS. Hence we can solve the real-world problem using this method. Comparing with OOPS, the procedure-oriented programming language is less effective.


Happy Learning 🙂