Why do we study OOP? Why is it everywhere?

whyoops.png Introduction

OOP is an acronym for Object-oriented programming which is one of the de-facto programming paradigms with some special powers ( properties I mean) that can make any code a super code making it flexible, modular, scalable, abstract, secure, and compact. Now Let’s learn what these superpowers or simply these properties are.

What are the four Superpowers / Properties of OOP?

These are the four popularly defined superpowers that OOP has

  • Encapsulation superpower - That means your code can be bundled into a single unit so that it will be easier to identify the role of each part. In short, it helps in binding the data and helps it easier to maintain.

  • Abstraction superpower - This means you can expose only that part of code that you intend to. In short, it helps in providing more security by making only the required portion of the code public.

  • Inheritance superpower- This provides the ability to reuse the code by inheriting it from the other classes i.e the previously written piece of code thereby reducing the size and also making it future proof in case scaling up is required.
  • Polymorphism superpower - Polymorphism means that one class can be used to create many objects i.e we can provide different capabilities/tasks/functionality to the same name to perform differently in different situations.

A little more about OOPS Programming is all about managing complexities and details and at the same time delivering the desired result most efficiently. OOP is the way to split a more complex problem the way that the previous approaches were not able to solve nicely. Better to say, the OOP naturally emerged when the older approaches were used for solving more and more complex problems.

Programming is just a way to map the real solution and it simply means building a system that simulates reality. Splitting complex problems into smaller ones is one of the most common things that we encounter on regular basis. That is exactly where OOP helps. This is just our point of view. There are also many reasons related to the “machine point of view”.

People may learn a lot about the OOP concept theoretically but they will only understand its importance when it comes to real-world project. oopflow.png