13. Encapsulation
Encapsulation bisa digambarkan seperti smartphone. Saat menggunakan
smartphone kita tidak perlu tahu bagaimana proses yang berjalan di belakang,
seperti menampilkan sesuatu pada layar, menyediakan jaringan seluler, dan lain
sebagainya. Kita cukup menggunakannya sebagaimana mestinya sebuah telepon
genggam. Seperti itulah encapsulation bekerja.
15. Abstraction
Encapsulation bisa digambarkan seperti smartphone. Saat menggunakan
smartphone kita tidak perlu tahu bagaimana proses yang berjalan di belakang,
seperti menampilkan sesuatu pada layar, menyediakan jaringan seluler, dan lain
sebagainya. Kita cukup menggunakannya sebagaimana mestinya sebuah telepon
genggam. Seperti itulah encapsulation bekerja.
17. Compile time polymorphism
Juga dikenal sebagai overloading (pembebanan lebih dari satu fungsi dengan nama
yang sama di satu kelas). Dalam polimorfisme compile-time, pemilihan fungsi
tergantung pada tipe atau jumlah parameter
19. Runtime Polymorphism
Runtime polymorphism adalah proses di mana sebuah fungsi dipanggil pada saat
runtime. Contoh dari runtime polymorphism adalah method overriding, yaitu
sebuah kelas yang memiliki fungsi dengan nama sama dengan fungsi yang di dalam
kelas induknya.
22. Hubungan antar objek merupakan hal yang sangat mendasar di dalam pemrograman berorientasi
objek. Hubungan antar objek juga mendefinisikan bagaimana objek-objek tersebut akan berinteraksi
atau berkolaborasi satu sama lainnya agar kita dapat menuliskan kode dengan mudah, bersih dan bisa
digunakan kembali (reusable).
● Association : memiliki hubungan “has-a” yang menyatakan bahwa sebuah kelas memiliki hubungan
dengan kelas lainnya.
● Dependency : hubungan ini memiliki arti bahwa sebuah kelas memiliki ketergantungan terhadap
kelas lain.
● Generalization : memiliki hubungan “is-a” dari kelas yang spesifik ke kelas yang lebih umum.
26. Composition
Bentuk hubungan kedua yaitu komposisi, sebuah hubungan dapat dikatakan komposisi jika sebuah
kelas “memiliki” class lainnya
27. Aggregation
Perbedaan dengan bentuk hubungan komposisi adalah bentuk hubungan ini tidak terikat, yang berarti
setiap class dapat berdiri sendiri. Seperti contoh pada gambar di atas, meskipun kelas Shop
dihancurkan, class Seller masih dapat digunakan. Tapi tidak sebaliknya. Jika class Seller tidak ada, maka
class Shop sudah tidak relevan lagi untuk digunakan
29. Dependency
Hubungan dependensi terjadi apabila, sebuah fungsi pada class A membutuhkan class B sebagai
parameter, fungsi pada class A memiliki nilai kembalian berupa class B, dan class A menggunakan class
B tetapi class B bukan merupakan sebuah atribut
31. Generalization
Dalam hubungan generalisasi terjadi proses memisahkan karakteristik dari dua atau lebih class dan
menggabungkannya jadi satu class yang lebih umum atau biasa kita sebut SuperClass. Karakteristik ini
bisa seperti atribut, hubungan asosiasi, atau fungsi pada beberapa class. Pada gambar di atas kita
dapat melihat bahwa class Product merupakan SuperClass dari beberapa class lainnya.
34. Realization / Implementation
Hubungan realisasi atau implementasi adalah hubungan abstraksi khusus antara dua kelas, satu
mewakili interface yang menjadi spesifikasinya (ProductService) dan yang lainnya mewakili kelas
implementasi yang menjadi realisasinya (ProductServiceImpl)