Cara berpikir berbeda dari procedural. Encapsulation, inheritance, polymorphism.
Class adalah blueprint, object adalah instance dari class. Contoh: class Customer punya attribute (nama, email) dan method (kirim_email). Buat banyak Customer dari 1 class.
Encapsulation (data bundling dengan method, akses control). Abstraction (sembunyikan complexity, expose interface). Inheritance (turunan dari parent class). Polymorphism (1 interface, banyak implementasi).
Constructor (init di Python) dipanggil saat object dibuat. Inisialisasi state awal object. Destructor jarang dipakai eksplisit di language modern karena ada garbage collector.
Attribute adalah variable di dalam class. Method adalah function di dalam class. Akses lewat object.attribute atau object.method(). Konvensi: attribute privat awali underscore.
Inheritance: child class warisi parent. Composition: object berisi object lain. Aturan praktis: prefer composition over inheritance kecuali ada is-a relationship yang jelas.