プログラミング

Enkapsulasi

Oleh: Avrilian Briliansyah

1. Enkapsulasi

Adalah sebuah teknik penyembunyian informasi dari luar objek. Kalau kita mempunyai informasi atribut di dalam objek yang tidak bisa diakses dari luar objek, lalu kita menambahkan getter dan setter sebagai sarana untuk menulis dan membaca informasi yang ada didalam objek, maka kita dapat menyembunyikan beberapa informasi dan mengontrol bagaimana pengaksesan data dilakukan.

2. Access Modifier

Access modifier digunakan untuk menyesuaikan objek-objek mana saja yang bisa mengakses objek atau atribut-atributnya.

Misalkan kita ingin membuat atribut age pada objek dari class Cat hanya bisa diakses oleh method dari dalam objek itu sendiri, kita bisa menambahkan access modifier private:

class Cat {
    private String name;
    // ----

    String getName() {
        return name;
    }
}

Macam-macam Access Modifier

1. private

Artinya atribut dari class hanya dapat diakses oleh method dalam kelas itu sendiri.

2. protected

Artinya atribut dari class bisa diakses oleh method dari child class. Contoh:

class Animal {
    protected void eat(){
    // ----
    }
}

class Cat extends Animal {
    private String name;
    // ----

    void live() {
        eat();
        // ---
    }
}

3. default

Inilah access modifier yang diberikan apabila anda tidak menulisnya secara eksplisit. Atribut dari class ini dapat diakes dari class lain yang satu package.

4. public

Artinya atribut dapat diakses dari kelas mana saja.

Berikut tabel:

ModifierClassPackageSubclassOther Classes
PrivateYesNoNoNo
DefaultYesYesNoNo
ProtectedYesYesYesNo
PublicYesYesYesYes

3. Constructor

Constructor adalah method spesial yang dipanggil saat java menginisialisasi objek. Constructor juga dapat digunakan untuk memberi nilai awal pada atribut yang ada pada class.

class Cat {
    String name;

    public Cat(String arg) {
        name = arg;
    }
}

public Main {
    public static void main(String [] args) {

        Cat obj = new Cat("Veronika");

        System.out.println(obj.name);
    }
}

Output:

Veronika

4. Contoh Implementasi Enkapsulasi

Berikut kode:

Contoh enkapsulasi

Hasil dari kode diatas:

Output

Sumber dan Referensi