Pinned

Acces Modifier Java dan Fungsinya

Fungsi dari access modifier pada Java adalah untuk membatasi scope dari sebuah classconstructor, variabel, method, atau anggota data lainnya yang terdapat dalam suatu program Java.

4 Tipe Utama Acces Modifier pada Java
Ilustrasi Acces Modifier Java

Sebelum memahami lebih dalam materi tentang Acces Modifier Java dan Fungsinya, terlebih dahulu pelajari materi tentang: Cara Access dan Non Access Modifier Java dan Fungsinya [klik], Pengertian Asosiasi Komposisi dan Agregasi Java [klik], dan Pengertian Polimorfisme Java dan Dynamic Method Dispatch [klik].

Ada empat tipe dari access modifier yang tersedia pada Java, yaitu:
  • Default - Tidak ada persyaratan keyword
  • Private
  • Protected
  • Public

Lebih lengkap seperti diperlihatkan tabel pada Tabel 1 berikut ini.

Tabel 1 Acces Modifer Java
Acces Modifierdefaultprivateprotectedpublic
Class yang samaYesYesYesYes
Package subclass samaYesNoYesYes
Package non-subclass samaYesNoYesYes
Packagee subclass berbedaNoNoYesYes
Package non-subclass berbedaNoNoNoYes

satu, Default: Ketika tidak ada access modifier yang spesifik untuk classmethod, atau anggota data, maka secara otomatis access modifier akan bertipe default access.

Anggota data, class, atau method yang tidak dideklarasikan menggunakan access modifier apapun maka secara otomatis akan menjadi tipe default access yang diakses hanya dengan menggunakan package yang sama.

Baca Juga:

Pada contoh berikut ini akan diciptakan package dan class dalam package yang akan memiliki modifier default access dan akan dicoba untuk mengakses class dari satu package sebuah class dari package kedua.

Contoh:

// Program Java

// mengilustrasikan default

// modifier.

package p1

 

// Class Peek memiliki default

// access modifier.

class Peek 

void display() 

{System.out.println("Hello"

+" World!");} 

 

// Program Java

// mengilustrasikan error

// ketika menggunakan class

// dari package yang berbeda

// dengan default modifier.

package p2

import p1.*

 

// Class ini memiliki default

// access modifier.

class PeekNew 

 

public static void main(String args[]

// Mengakses class Peek dari

// package p1.

Peeks obj = new Peek(); 

obj.display(); 

}

 

}

Output:
Compile time error

dua, Private: Private access modifier adalah penggunaan spesifik dari keyword privateMethod atau anggota data yang dideklarasikan sebagai private akan diakses hanya menggunakan class yang dideklarasikan didalamnya. Sedangkan class lainnya dari package yang sama tidak akan bisa mengakses anggota data tersebut. Top loevel class atau interface tidak bisa dideklarasikan sebagai tipe private karena private berarti "hanya terlihat oleh class tertutup". Protected juga berarti "hanya terlihat oleh class tertutup dan subclass-nya".

Karenanya modifier dengan istilah dari "aplikasi ke class" hanya diterapkan untuk nested class dan tidak untuk top level class.

Pada contoh berikut ini, akan diciptakan class A dan class B dengan package yang sama yaitu p1. Selanjutnya akan dideklarasikan method dalam class A sebagai private dan dilakukan percobaan untuk mengakses method tersebut dari class B dan kemudian akan dilihat hasilnya sebagai berikut.

Contoh:

// Program Java

// mengilustrasikan error

// ketika menggunakan class

// dari package yang berbeda

// dengan private modifier.

package p1

 

class

private void display() 

{System.out.println("Makan"

+"TidurMakan");} 

 

class

public static void main(String args[]

{A obj = new A(); 

// Mencoba untuk mengakses

// method private dari class

// lainnya. 

obj.display();} 

}

Output:
error: display() has private access in A
obj.display();

tiga, Protected: Protected access modifier adalah penggunaan spesifik dari keyword protectedMethod atau anggota data dideklarasikan sebagai protected yang kemudian diakses menggunakan nama package yang sama atau sub class dalam package yang berbeda.

Pada contoh berikut akan diciptakan dua package p1 dan p2Class A dalam p1 akan bertipe public, yang akan diakses melalui p2Method berikut memperlihatkan class A adalah protected dan class B adalah turunan (inheritance) dari class A, dan method protected akan diakses dari penciptaan sebuah object dari class B.

Contoh:

// Program Java

// mengilustrasikan protected

// modifier.

package p1

 

/* Class A */ 

public class

protected void display() 

{System.out.println("Makan"

+"TidurMakan");} 

 

 

// Program Java

// mengilustrasikan protected

// modifier.

package p2;

// mengimpor semua class pada

// package p1. 

import p1.*

 

// Class B adalah subclass

// dari Class A.

class B extends

public static void main(String args[]

{B obj = new B(); 

obj.display();} 

}

Output:
MakanTidurMakan

empat, Public: Public access modifier adalah penggunaan spesifik dari keyword publicPublic access modifier memiliki scope luas diantara semua access modifier lainnya. Classmethod, atau anggota data yang dideklarasikan sebagai tipe public dapat diakses dari manapun pada program. Tidak ada batasan dalam scope dari anggota data public.

Contoh:

// Program Java

// mengilustrasikan public

// modifier.

package p1

 

public class

public void display() 

{System.out.println("Makan"

+"TidurMakan");} 

}

 

package p2

import p1.*;

 

class

public static void main(String args[]

{A obj = new A

obj.display();} 

}

Output:
MakanTidurMakan

Poin Penting:
  • Jika programmer menggunakan class yang telah diciptakan sebelumnya, cobalah untuk menggunakan level access terbatas yang akan masuk untuk anggota tertentu. Gunakankah tipe private pada program kecuali memiliki alasan lain untuk tidak menggunakan tipe private tersebut.
  • Hindari penggunaan tipe public kecuali untuk konstanta (constants).

Artikel ini didedikasikan kepada: Ismi Zulfani, Mauluda Fitriyana, Muhammad Iqbal As Syegaf, Nadya Yuli Rismawati, dan Nibrose Zukhruf Febrina.

9 komentar:

  1. Apa yang dimaksud dengan access modifier pada Java?

    BalasHapus
    Balasan
    1. Keyword publik merupakan bentuk access modifier pada Java, dimana keyword tersebut digunakan untuk melakukan pengaturan pada tingkat akses dalam sebuah class, atribut, method, dan constructor. Access modifier pada bahasa pemrograman Java dibagi menjadi dua kategori yaitu acces modifier dan non access modifier.

      Hapus
    2. Apa contoh code bentuk acces modifilers

      Hapus
    3. Contohnya, sudah disediakan pada artikel yang telah dijelaskan sebelumnya,,

      Hapus
  2. Pada Java, access modifier digunakan untuk mengatur aksesibilitas atau visibal class, interface, variabel, method, konstruktor, anggota data, dan method setter.

    BalasHapus
  3. Apa yang dimaksud dengan access specifier dan modifier pada bahasa pemrograman Java?

    BalasHapus
    Balasan
    1. Access specifier digunakan untuk memberikan kode user pada Java, yang digunakan untuk mengetahui apakah class lain dapat mengakses kode (program) tersebut atau tidak. Access modifier menyediakan access specifier dan access modifier untuk membuat akses ke dalam kode program java pada class lainnya. Disini modifier juga digunakan untuk melakukan tugas yang sama tetapi dengan beberapa batasan tertentu.

      Hapus
  4. Sebutkan dan Jelaskan empat jenis access modifier yang disediakan oleh Java!

    Tolong bantu jawab kak ini mau dikumpulin hari ini nanti jam 11:(

    BalasHapus
    Balasan
    1. empat jenis acces modifer pada java adalah:
      1. default
      2. private
      3. protected
      4. public

      Hapus

Hubungi admin melalui Wa : +62-896-2514-6106

Respon komentar 7 x 24 jam, mohon bersabar jika komentar tidak langsung dipublikasi atau mendapatkan balasan secara langsung.

Bantu admin meningkatkan kualitas blog dengan melaporkan berbagai permasalahan seperti typo, link bermasalah, dan lain sebagainya melalui kolom komentar.

- Ikatlah Ilmu dengan Memostingkannya -
- Big things come from small things -