Object-Oriented Programming
Also written as OOP
A programming paradigm that organizes code around objects — bundles of data and the behavior that acts on it — using concepts like classes, inheritance, and encapsulation. The default mental model behind languages like Java, C#, and much of Python.
Think of it like
Like designing with reusable, self-contained kits — each one bundles its own parts and instructions — instead of one long list of steps that reaches directly into shared parts.
Junior or senior?
Junior sounds like
Can define OOP's vocabulary — classes, inheritance, encapsulation.
Senior sounds like
Can explain a real tradeoff, like when composition beats inheritance.
Ask them
“Tell me about a time you chose composition over inheritance, or vice versa. What made that the right call?”