Explores the core features of object-oriented programming, including dynamic dispatch, encapsulation, inheritance, and subtyping, using Java examples and practical insights.
Covers polymorphism in object-oriented programming, focusing on inclusion polymorphism and its implementation through class hierarchies and virtual methods.