IB Syllabus: B3.1 – OOP for a single class (SL+HL), B3.2 – OOP for multiple classes (HL only)
Object-oriented programming is a way of organising code around objects – self-contained units that combine data and the operations that act on that data. Instead of writing one long program with variables scattered everywhere, you model the problem as interacting objects, each responsible for its own state and behaviour.
This matters because real-world systems are complex. A school has students, teachers, courses, and grades. A hospital has patients, doctors, appointments, and records. OOP lets you model each of these as a separate class, keep their data private, and define clear interfaces for how they interact.