Anda di halaman 1dari 2

Penerapan Konsep Object Oriented Programming di Java

1. Class
Definisi class menggunakan keyword class. Access modifier (public/protected/private)
dinyatakan sebelum keyword class. Jika suatu class didefinisikan tanpa menyebutkan access
modifier, maka class tersebut diperlakukan dengan lingkup package protected.
Contoh: public class Mahasiswa {}
Nama file java harus sama dengan nama class dengan modifier public. Dalam contoh di atas,
file harus disimpan dengan nama Mahasiswa.java.
2. Constructor
Instansiasi object dari suatu class di Java tergantung pemanggilan constructornya. Adanya
overloading di Java memungkinkan beberapa bentuk constructor dari satu class. Constructor
default adalah constructor dari class tanpa parameter. Constructor berparameter merupakan
constructor dari class yang harus menyertakan sejumlah parameter masukan ketika
instansiasi class menjadi object. Akses object terhadap dirinya sendiri dapat menggunakan
keyword this.
Contoh definisi:
public class Mahasiswa {
private String nim;
private String nama;
public Mahasiswa(){} // constructor default
public Mahasiswa(String nim, String nama){
this.nim = nim;
this.nama = nama;
}
}
Contoh pemanggilan:
Mahasiswa mhs1 = new Mahasiswa(); // default
Mahasiswa mhs2 = new Mahasiswa("101", "Agus");
3. Destructor
Constructor digunakan untuk menginisialisasi object, adapun destructor digunakan untuk
menghapus/menghancurkan object sehingga sumber daya (resource) yang teralokasikan
untuk object tersebut dapat digunakan kembali. Java tidak mengimplementasikan
destructor. Pembersihan object yang tidak digunakan lagi akan diproses oleh garbage
collector sehingga memori dapat terjamin ketersediannya.
4. Inheritance
Pewarisan di Java menggunakan keyword extends. Statement yang lebih lengkap
dinotasikan dalam format NamaSubClass extends NamaSuperClass {} . Akses child
terhadap member dari parent dapat menggunakan keyword super.
Java hanya memperkenankan satu parent class melalui keyword extends. Penerapan
multiple inheritance tidak dapat diimplementasikan di Java melalui cara ini.
Access modifier menentukan hak akses child-class terhadap parent-classnya. Member
dengan access public/protected dapat diakses dan di-override oleh subclass. Modifier
final digunakan untuk menyatakan suatu member tidak dapat di-override oleh subclass.
5. Interface
Interface merupakan bentuk abstraksi paling tinggi di Java. Interface dapat dianalogikan
dengan header file dari suatu ADT di C. Interface hanya berupa blueprint dari suatu class,
terdiri dari sejumlah konstanta dan abstract method. Interface menggunakan keyword
interface yang diterapkan serupa dengan cara mendefinisikan class. Karena interface
bersifat abstrak, interface tidak dapat diinstansiasi menjadi object. Interface harus
diimplementasikan dalam bentuk class terlebih dahulu agar selanjutnya dapat dibuat
objectnya. Implementasi class dari suatu interface menggunakan keyword implements,
dengan format class namaClass implements namaInterface { /* ... */ } .
Satu class di Java diperkenankan untuk mengimplementasikan sejumlah interface, sehingga
melalui konsep Interface inilah multiple inheritance di Java dapat diterapkan.
class namaClass implements namaInterface1, namaInterface2, … { /* ... */ }
6. Assesor dan Mutator Method (Getter-Setter)
Enkapsulasi yang baik akan menjamin akses terhadap setiap member dari suatu class hanya
menggunakan jalur yang telah disediakan sehingga terjaga konsep information hiding dan
modularitasnya. Jalur akses yang umum disediakan merupakan pasangan assesor-mutator
(getter-setter). Assesor/getter merupakan method untuk mengambil/membaca nilai dari
member suatu class, sedangkan mutator/setter merupakan method untuk memodifikasi atau
mengubah nilai dari member suatu class.
Contoh: … … …
public getNama(){
return this.nama;
}
public setNama(String nama){
this.nama = nama;
}
… … …
7. Package
Package di Java merupakan suatu mekanisme pengelompokan sejumlah class dan interface
yang memiliki karakteristik serupa. Penerapan package juga dapat difungsikan agar
menghindari konflik penamaan class yang sama serta mengarahkan ke pengembangan yang
lebih rapi dan mudah dalam proses maintenance di masa mendatang. Secara sederhana,
package di Java dapat dianggap sebagai folder/direktori di suatu sistem operasi.
Pendefinisian package di Java menggunakan keyword package, dan pemanggilan suatu
package menggunakan keyword import.
VSCode mempermudah pengembangan Java dengan menyediakan navigasi khusus berupa
Java Projects sehingga dapat menambahkan package/class/interface di suatu lokasi
tertentu bahkan menyediakan fitur refactoring jika dilakukan pemindahan suatu file ke
tempat lain yang membutuhkan penyesuaian definisi package/import yang berkaitan.

Anda mungkin juga menyukai