Why OOP Exists

Procedural languages (C) tie data and the functions that act on it loosely together — global data can be changed by any function, anywhere, making large programs hard to maintain and reason about. OOP fixes this by binding data and behavior into a single unit (the class), controlling exactly who can touch what, and modeling programs as a set of interacting objects rather than a sequence of instructions.

Classification / Structure of OOP Concepts (Big Picture)

Use this as the mental map before drilling into definitions — CSS questions often ask you to "classify" or "categorize" OOP concepts, not just define them.

Glossary of Key OOP Terms (Definitions)