Perbedaan Public, Private ,Protected dan Default Pada PBO

Daftar Isi

    LancangKuning.com - Class pada paradigma pemrograman PBO, dapat saling berhubungan dengan cara memberikan akses pada member (property dan method) yang ada pada class tersebut. Salah satu hubungan tersebut adalah konsep inheritance, dimana suatu class dapat menurunkan membernya pada class lain yang nantinya dapat mengakses member class induknya, kecuali member tersebut telah diberi akses terbatas.

    Pemberian akses erat kaitannya dengan konsep enkapsulasi, yaitu suatu metode dalam mengatur struktur class atau member – membernya dengan cara menyembunyikan alur kerja dari class tersebut. Untuk memberikan akses batasan ini diperlukan keyword modifier yaitu public, private, dan protected. Tidak hanya ketiga modifier tersebut, kita bisa tidak memberikan modifier apa – apa, ini disebut dengan ‘no modifier’. Masing – masing modifier dapat menentukan class mana saja yang dapat mengakses member class induknya.

    Baca Juga : Tempat Wisata di Pekanbaru

    Berikut adalah tabel jangkauan akses untuk masing – masing modifier dalam bahasa Java:

    Modifier

    Class

    Package

    Subclass

    World

    public

    Y

    Y

    Y

    Y

    private

    Y

    N

    N

    N

    protected

    Y

    Y

    Y

    N

    no modifier

    Y

    Y

    N

    N

    Baca Juga : Akreditasi Jurusan Kampus Sekolah Tinggi Ilmu Kesehatan Marendeng Majene

    Pada tabel di atas, terlihat bahwa jika kita menggunakan no modifier pada member class induk, maka member tersebut hanya dapat diakses pada class itu sendiri dan juga class yang berada dalam satu package.

    Berikut adalah contoh – contoh penggunaan modifier tersebut dalam bahasa Java:

    1. Public

    Dengan modifier public membuat member tersebut dapat diakses dari mana saja

    Contoh:

    package example;

    class Person {

                public String name;

                public changeName(String newName) {

                            this.name = newName;

                }

    }

    Pada class Person diatas terdapat dua member, yaitu:

    1. Property name
    2. Method changeName()

    Pada kedua member itu diberikan modifier public yang berarti kedua member tersebut dapat diakses dari mana saja. Tetapi, dikarenakan class Person tidak diberikan modifier public maka class Person hanya bisa diakses(import) oleh class yang berada pada package yang sama, dan tidak akan bisa diakses oleh class yang berbeda package kecuali class Person telah diberi modifier public seperti ini:

    package example;

    public class Person {

                public String name;

                public changeName(String newName) {

                            this.name = newName;

                }

    }

    1. Private

    Dengan modifier private, member hanya dapat diakses oleh class itu sendiri. Perlu diingat bahwa modifier private tidak bisa diberikan pada class, hanya bisa diberikan pada membernya.

    Contoh:

    class Person {

                private String name;

                public setName(String newName) {

                            this.name = newName;

                }

                Public getName() {

                            Return this.name;

                }

    }

    Pada contoh diatas, property name kita berikan modifier private sehingga property tersebut tidak dapat diakses kecuali class itu sendiri. Jadi, untuk dapat mengakses property dengan modifier private dibuatlah method setter dan getter dan diberikan modifier public. Seperti contoh diatas, dibuat sebuah method setter dan juga getter. Pada contoh diatas, method setter-nya adalah setName() dan method getter-nya adalah getName().

    1. Protected

    Dengan modifier protected, kita dapat mengakses member dalam sebuah class melalui class itu sendiri, class turunannya, dan class yang berada dalam satu package. Modifier protected, seperti private hanya bisa diberikan pada member dan tidak bisa diberikan pada class.

    Baca Juga : Tempat Wisata di Riau

    Contoh:

    package example;

    public class Person {

                protected String name;

                public setName(String newName) {

                            this.name = newName;

                }

                Public getName() {

                            Return this.name;

                }

    }

    Dari contoh diatas, kita memberikan modifier protected pada property name. Jika kita mencoba mengakses pada class yang berada pada package yang sama maka tidak akan terjadi error, namun jika diakses dari class yang berbeda package maka akan terjadi error.(Athallah)

    Bagikan Artikel

    data.label
    data.label
    data.label
    data.label
    Beri penilaian untuk artikel Perbedaan Public, Private ,Protected dan Default Pada PBO
    Sangat Suka

    35%

    Suka

    0%

    Terinspirasi

    5%

    Tidak Peduli

    10%

    Marah

    50%

    Komentar