OOP II: Pewarisan dan Polimorfisme

Pewarisan, overriding, polimorfisme, kelas abstrak, kontrak equals dan hashCode, serta sealed class.

Modul ini melanjutkan OOP dari kelas dan objek menuju hubungan antarkelas. Pewarisan, overriding, dan polimorfisme dipraktikkan lewat extends, dynamic dispatch, dan kelas abstrak, lengkap dengan kontrak equals dan hashCode yang menopang collections. Bagian akhir merapikan pemeriksaan tipe dengan pattern matching, menimbang komposisi sebagai alternatif pewarisan, dan menutup hierarki kelas dengan sealed class. Setelah modul ini selesai, kelas dapat disusun menjadi hierarki yang jelas batasnya, ditutup bila perlu, dan tetap mudah diperluas.