Pascal's Blog
What is Object-Oriented Programming (OOP) and Why Should You Care?

Photo by Amol Tyagi on Unsplash
What is Object-Oriented Programming that every programmer talks about?
Why do they care about it anyway? Let’s open our minds.
So you’ve heard many software engineers talk about OOP—maybe your tutor, or perhaps you’ve come across articles written about it but still can’t connect the dots… Just keep reading, you won’t regret it. I promise.
In this article, we’re going to focus on understanding, not just definitions.
If you want a more formal definition, you can check it out here.
Understanding…
When I was learning the English language, I was told that in order to understand a sentence and its full meaning, I needed to:
- Break it down
- Pick out the main words
- Look them up in the dictionary
- Find the contextual meaning
- Rebuild the sentence
That’s how I learned English, and I’ve used that technique my entire life to learn new concepts.
(…ssh! that’s a little bit of a secret!)
So how do we apply this to OOP?
Just read on...
What is OOP, really?
Object-Oriented, as it sounds, organizes software design around objects.
Objects in programming are known to be data fields that have unique attributes and behavior.
In OOP, we focus on the objects we want to manipulate first, then build the logic to manipulate them.
A Real-Life Analogy
Say you want to build a house.
You don’t just start buying materials. First, you make a plan:
- What features does your house need?
- How many rooms?
- Electricity?
- Water?
That’s OOP thinking.
Define the objects (house, rooms, power), and then build the logic.
The Structure of OOP
Let’s continue with our house analogy.
🏗️ Classes
At the very top level of an OOP program, we have a class.
You can’t build partitions/rooms without building the main walls, right?
A class acts as a blueprint for:
- Individual objects
- Attributes
- Methods
🧱 Objects
Now it’s time to talk about rooms in the house.
These are instances of our main building (the class).
In programming terms:
An object is an instance of a class.
🔌 Methods
Your house might need some additional things to be perfectly habitable:
- Electric power
- Water
In programming, these are like functions—they describe the behavior of your objects.
So if a room needs light, it must be connected to power.
The method is that connection.
💡 Attributes
We’ve got the main building, the rooms, and the power.
Now, how do we light up a room?
We need lamps.
Let those be our attributes.
They represent the state of our objects.
Objects store data in these attribute fields.
Recap
The structure is simple:
- Classes are the blueprint
- Objects are instances
- Methods define behavior
- Attributes store data/state
All things are connected, and methods or attributes are just a call away.
What if you forgot something?
What if there's something we need in our house but forgot to include in the plan?
Do we destroy everything and rebuild?
NO.
You heard me.
So what do we do?
Go borrow from the neighbour who has.
How?
That’s what we’ll explore in the next article...
Bye for now and thanks for reading
Happy coding!