Object-Oriented Programming, from object identity to type bounds
This series starts with the object model, then builds upward through construction, dispatch, encapsulation, and type-safe reuse. Each lesson connects language constructs to memory allocation, runtime behavior, and compile-time contracts.
Lesson Path
Objects, State & Identity
The object model, references, identity, value equality, and why mutable state belongs to instances instead of classes.
Construction & Ownership
Constructors, `this`, copy lifecycles, private allocation paths, and the rules that keep objects valid as they are created.
Runtime Dispatch
Overloading, overriding, vtable routing, inheritance topology, and the way objects collaborate through relationships.
Encapsulation & Abstraction
Visibility boundaries, invariant protection, abstract classes, interfaces, and default-method conflict resolution.
Parameterized Polymorphism
Generics, type erasure, wildcard variance, and type-safe reusable containers.