Kuasai OOP Java dari class dan object hingga inheritance, polymorphism, interface, records, dan sealed classes.
Pahami empat pilar OOP dan bagaimana Java menerapkannya dalam desain program.
Buka → # Class dan ObjectDefinisikan class sebagai cetak biru dan wujudkan object dari class tersebut.
Buka → # Fields dan MethodsSimpan data pada fields dan tambahkan perilaku melalui methods.
Buka → # ConstructorsInisialisasi object dengan constructor dan atur kondisi awal yang valid.
Buka → # Constructor OverloadingSediakan beberapa bentuk constructor dan rangkai dengan this().
Buka → # Keyword thisRujuk object aktif dari dalam method dengan this dan bedakan dari parameter.
Buka → # EncapsulationSembunyikan data di balik method akses dan lindungi invarian internal objek.
Buka → # Access ModifiersKendalikan visibilitas member dengan public, private, protected, dan package-private.
Buka → # Static MembersPelajari member milik class yang dibagikan semua object dan jebakan shared state.
Buka → # InheritanceWarisi field dan method dari superclass dan bangun hierarki class yang bermakna.
Buka → # Keyword superAkses member superclass dan rangkai constructor induk dengan super().
Buka → # Method OverridingUbah perilaku method warisan dengan @Override dan aturan kovariansi return.
Buka → # PolymorphismPanggil method yang sama pada tipe berbeda dan pahami dynamic method dispatch.
Buka → # Abstract ClassesDefinisikan kontrak parsial dengan abstract class dan method abstraknya.
Buka → # InterfacesRumuskan kontrak perilaku murni dengan interface dan implementasikan di class.
Buka → # Default dan Static Interface MethodsTambahkan implementasi bawaan pada interface tanpa merusak class lama.
Buka → # Composition vs InheritancePilih komposisi saat pewarisan memaksa coupling yang tidak perlu.
Buka → # Association, Aggregation, dan CompositionBedakan tiga bentuk hubungan antar objek dan implikasinya bagi kepemilikan.
Buka → # Object LifecycleIkuti perjalanan objek dari penciptaan, penggunaan, hingga menjadi eligible untuk GC.
Buka → # Object EqualityBedakan kesamaan identitas (==) dari kesamaan nilai logis lewat equals.
Buka → # hashCode dan equalsImplementasikan pasangan hashCode/equals dengan benar agar collection berperilaku tepat.
Buka → # Object CloningSalin objek dengan clone(), copy constructor, dan salin manual yang aman.
Buka → # ImmutabilityRancang class yang tidak dapat diubah dan nikmati keamanannya di concurrency.
Buka → # RecordsBuat pembawa data ringkas dengan records beserta compact constructor.
Buka → # Sealed ClassesBatasi hierarki pewarisan dengan sealed classes dan permits.
Buka → # Prinsip Desain OOPTerapkan prinsip desain berorientasi objek agar class mudah dirawat dan diperluas.
Buka →