Kuasai OOP Java dari class dan object hingga inheritance, polymorphism, interface, records, dan sealed classes.

# Konsep Object-Oriented Programming

Pahami empat pilar OOP dan bagaimana Java menerapkannya dalam desain program.

Buka →
# Class dan Object

Definisikan class sebagai cetak biru dan wujudkan object dari class tersebut.

Buka →
# Fields dan Methods

Simpan data pada fields dan tambahkan perilaku melalui methods.

Buka →
# Constructors

Inisialisasi object dengan constructor dan atur kondisi awal yang valid.

Buka →
# Constructor Overloading

Sediakan beberapa bentuk constructor dan rangkai dengan this().

Buka →
# Keyword this

Rujuk object aktif dari dalam method dengan this dan bedakan dari parameter.

Buka →
# Encapsulation

Sembunyikan data di balik method akses dan lindungi invarian internal objek.

Buka →
# Access Modifiers

Kendalikan visibilitas member dengan public, private, protected, dan package-private.

Buka →
# Static Members

Pelajari member milik class yang dibagikan semua object dan jebakan shared state.

Buka →
# Inheritance

Warisi field dan method dari superclass dan bangun hierarki class yang bermakna.

Buka →
# Keyword super

Akses member superclass dan rangkai constructor induk dengan super().

Buka →
# Method Overriding

Ubah perilaku method warisan dengan @Override dan aturan kovariansi return.

Buka →
# Polymorphism

Panggil method yang sama pada tipe berbeda dan pahami dynamic method dispatch.

Buka →
# Abstract Classes

Definisikan kontrak parsial dengan abstract class dan method abstraknya.

Buka →
# Interfaces

Rumuskan kontrak perilaku murni dengan interface dan implementasikan di class.

Buka →
# Default dan Static Interface Methods

Tambahkan implementasi bawaan pada interface tanpa merusak class lama.

Buka →
# Composition vs Inheritance

Pilih komposisi saat pewarisan memaksa coupling yang tidak perlu.

Buka →
# Association, Aggregation, dan Composition

Bedakan tiga bentuk hubungan antar objek dan implikasinya bagi kepemilikan.

Buka →
# Object Lifecycle

Ikuti perjalanan objek dari penciptaan, penggunaan, hingga menjadi eligible untuk GC.

Buka →
# Object Equality

Bedakan kesamaan identitas (==) dari kesamaan nilai logis lewat equals.

Buka →
# hashCode dan equals

Implementasikan pasangan hashCode/equals dengan benar agar collection berperilaku tepat.

Buka →
# Object Cloning

Salin objek dengan clone(), copy constructor, dan salin manual yang aman.

Buka →
# Immutability

Rancang class yang tidak dapat diubah dan nikmati keamanannya di concurrency.

Buka →
# Records

Buat pembawa data ringkas dengan records beserta compact constructor.

Buka →
# Sealed Classes

Batasi hierarki pewarisan dengan sealed classes dan permits.

Buka →
# Prinsip Desain OOP

Terapkan prinsip desain berorientasi objek agar class mudah dirawat dan diperluas.

Buka →