Enkapsulasi adalah suatu cara untuk meyembunyikan implementasi detil dari class untuk mencegah akses yang ilegal. Ada dua hal yang mendasar dari enkapsulasi yaitu information hiding dan interface to access data. Berikut sedikit penjesalan dari hal diatas. Information hiding adalah menyembunyikan informasi dari suatu class agar tidak bisa diakses dari luar class, caranya hanya dengan memberikan modifier private pada varibel yang ingin kita hiding. Selanjutnya mengenai interface to acces data, ialah cara kita untuk mengubah nilai pada suatu variabel yang telah dilakukan information hiding. Cara yang biasa dilakukan adalah melalui method, lewat method ini kita bisa merubah nilai suatu variabel yang telah mengalami information hiding.
Enkapsulasi tersebut terdiri dari tiga jenis yaitu public, protected, dan private.
1. Public
Merupakan kata kunci yang digunakan dalam java yang memungkinkan setiap variabel dan method
yang di deklarasikan dalam class public dapat di akses oleh semua class yang sama, subclass atau non subclass yang sama di package yang sama, subclass dan non subclass di package yang berbeda.
2. Protected
Merupakan kata kunci yang di deklarasikan untuk memproteksi suatu class agar setiap variabel dan method yang dideklarasikan tidak dapat di akses oleh non subclass di dalam package yang sama. Dalam class protected, yang dapat mengakses variabel dan method nya adalah jika methodnya berada pada classnya sama, subclass dan non sub yang sama di package yang sama, dan subclass di package yang berbeda.
3. Private
Merupakan kata kunci yang dideklarasikan dalam suatu class agar setiap variabel dan method yang berada dalam class private ini hanya dapat diakses oleh class yang sama. Didalam bahasa pemgrograman java class yang bersifat private memproteksi agar semua variabel dan methodnya tidak dapat di akses oleh semua subclass dan non subclass di package yang sama, dan subclass dan non subclass di package yang berbeda.
Apa itu Constructor?
Constructor adalah method khusus yang akan dieksekusi pada saat pembuatan objek (instance).
Biasanya method ini digunakan untuk inisialisasi atau mempersiapkan data untuk objek.
Contoh Constructor dan Cara Membuatnya
Berikut ini contoh Constructor:
Cara membuat constructor adalah dengan menuliskan nama method constructor sama seperti nama class.
Pada contoh di atas constructor ditulis seperti ini:
public User() {
System.out.println("eksekusi method constructor...");
}
Pastikan memberikan modifier
public
kepada Constructor, karena ia akan dieksekusi saat pembuatan objek (instance).
Mari kita coba membuat objek baru dari class
User
:User petani = new User();
Sehingga sekarang kita punya kode lengkap seperti ini:
Hasilnya saat dieksekusi:
Constructor dengan Parameter
Constructor biasanya digunakan untuk initialize (menyiapkan) data untuk class.
Untuk melakukan ini, kita harus membuat parameter sebagai inputan untuk constructor.
Contoh:
public class User {
public String username;
public String password;
public User(String username, String password){
this.username = username;
this.password = password;
}
}
Pada kode class
User
di atas, kita menambahkan parameter username
dan password
ke dalam constructor.
Berarti nanti saat kita membuat objek, kita harus menambahkan nilai parameter seperti ini:
User petani = new User("petanikode", "kopi");
Contoh Kode lengkapnya:
package konstruktor;
public class User {
public String username;
public String password;
public User(String username, String password){
this.username = username;
this.password = password;
}
}
class DemoConstructor{
public static void main(String[] args) {
User petani = new User("petanikode", "kopi");
System.out.println("Username: " + petani.username);
System.out.println("Password: " + petani.password);
}
}
Hasil outputnya:
Overloading
Method Overloading adalah sebuah kemampuan yang membolehkan sebuah class mempunyai 2 atau lebih method dengan nama yang sama, yang membedakan adalah parameternya.
Pada method overloading perbedaan parameter mencakup :
- Jumlah parameter
- Tipe data dari parameter
- Urutan dari tipe data parameter
Method Overloading juga dikenal dengan sebutan Static Polymorphism. Berikut ini contoh class yang melakukan Overloading
public class ContohOverloading { public void jumlah (int a, int b){ System.out.println("Jumlah 2 angka ="+ (a + b)); } //oveloading perbedaan jumlah parameter public void jumlah (int a, int b, int c){ System.out.println("Jumlah 3 angka =" + (a + b + c)); } //overloading perbedaan tipe data parameter public void jumlah (double a, int b){ System.out.println("Jumlah 2 angka (double+int) = "+ (a + b)); } //overloading perbedaan urutan tipe data parameter public void jumlah (int b, double a){ System.out.println("Jumlah 2 angka (int+double) = "+ (a + b)); } }
Penggunaan pada class utama :
public class PenggunaanOverloading { public static void main(String[] args) { ContohOverloading co = new ContohOverloading(); co.jumlah(83,32); co.jumlah(34,454,432); co.jumlah(34.43,34); co.jumlah(28,33.23); } }
Comments
Post a Comment