OOP (Object Oriented Programing) atau Pemrograman Berorientasi Objek mengacu pada bahasa pemrograman yang menggunakan objek daripada urutan fungsi.
Mengulas sedikit tentang variabel, yaitu atribut pada suatu class, dengan tipe data yang ditentukan oleh si pembuat program. Atribut sendiri memiliki nama lain yaitu: variabel class, variabel instance, atau state. Method merupakan behaviour (perilaku) berupa fungsi dan memiliki nama lain yaitu Method Instance.
Ada beberapa konsep OOP yang akan dijelaskan disini, perlu diperhatikan bahwa contoh program yang diberikan harus diletakkan di posisi yang tepat agar tidak terjadi error.
1. Class dan Object
Object = Objek / Hasil Cetakan
Class Objek = new Constructor();
2. Enkapsulasi
Dalam bahasa berorientasi objek, sebuah class mengikat data dan fungsi bersama dan menjaga keduanya tetap aman dari gangguan dan penyalahgunaan dari luar.
Enkapsulasi data dalam suatu kelas disembunyikan dari kelas lain sehingga juga dikenal sebagai Data Hiding. Pada pemrograman Java memungkinkan class memberlakukan pembatasan aksesnya secara eksplisit dengan menggunakan Access Modifier yaitu public
, private
dan protected
.
Modifier | Satu Class | Satu Package | Subclass | Package Lain |
---|---|---|---|---|
Public | ||||
Private | ||||
Protected | ||||
Tanpa Tanda |
3. Abstrak (Abstract)
Sama seperti namanya, Abstrak berarti ringkasan saja, belum memiliki isi yang lengkap, digunakan untuk Class dan Method:
- Abstract Class: adalah Class terbatas yang tidak dapat digunakan untuk membuat objek (untuk mengaksesnya harus diwarisi dari Class lain).
- Abstract Method: hanya dapat digunakan di Abstract Class, dan tidak memiliki body (isi). Isi method disediakan oleh subclass (diwariskan / inherit).
4. Inherit
Inherit adalah pewarisan, sama seperti kita yang mewarisi ciri-ciri dari orang tua dan kakek nenek kita. Pada bahasa berorientasi objek juga memungkinkan class baru mewarisi ciri-ciri dari class induk (parent).
Pada Java, dimungkinkan untuk mewarisi atribut dan method dari suatu class ke class lainnya. Kita mengelompokkan "konsep pewarisan" ke dalam dua kategori:
- superclass (parent / induk) – class yang mewarisi
- subclass (child / anak) – class yang diwarisi
extends
dan juga implements
.Untuk percobaan, buatlah class baru dengan nama OrangTua.java dengan code program seperti ini
public class OrangTua{
String nama;
String suku;
String berbicara(){
return "Hallo";
}
}
lalu buat class Anak.java dengan program seperti ini
public class Anak extends OrangTua{
}
Hanya dengan meng-extends OrangTua saja, class Anak.java sudah mewarisi semua atribut dan method class dari OrangTua.java, bisa dibuktikan dengan membuat object pada main class seperti berikutpublic static void main(String[] args) {
Anak an = new Anak();
an.nama = "john";
an.berbicara();
}
5. Polimorfisme
Polimorfisme berarti memiliki banyak bentuk, banyak bentuk sendiri bisa dimisalkan suatu method memiliki nama yang sama namun memiliki fungsi yang berbeda, agar dapat memiliki menerapkan polimorfisme, ada 2 metode yang dapat digunakan, yaitu metode overloading dan overriding.Metode Overloading
public class OrangTua{
public String nama;
String suku;
void berbicara(String kata){
System.out.println(kata);
}
void berbicara(int jumlah){
System.out.println(jumlah);
}
void berbicara(String kata, String kata2){
System.out.println(kata+kata2);
}
}
Bisa dilihat pada contoh program diatas, nama method yang sama bisa dibuat banyak jenis dengan memanipulasi parameter, baik dari jumlah parameter maupun tipe data.Metode Overriding
public class OrangTua{
public String nama;
String suku;
void berbicara(String kata){
System.out.println(kata);
}
}
Anak.java (subclass)public class Anak extends OrangTua{
@Override
void berbicara(String kata){
System.out.println("ini dari anak " + kata);
}
}
Dari kode diatas bisa dilihat bahwa class anak melakukan Override terhadap method berbicara()
, sehingga method dari OrangTua tertimpa method baru dari class Anak, dengan begitu kamu dapat membuat banyak bentuk tergantung berapa banyak kamu membuat subclass.
Casino de California - M2-G/CASINO - JTA Hub
BalasHapusCasino de 광주광역 출장안마 California. $10 청주 출장마사지 FREE NO DEPOSIT NEEDED. $5 당진 출장안마 FREE NO DEPOSIT 포항 출장마사지 NEEDED. $600 FREE 밀양 출장안마 NO DEPOSIT NEEDED. $15 FREE NO DEPOSIT NEEDED. $1,000 FREE NO DEPOSIT