
Belajar Java OOP: Memahami Tingkatan Akses Member dan Class (Modifier)
Class dalam program Java dapat saling berhubungan dengan cara memberikan akses terhadap member mereka.
Salah satu hubungan class yang pernah kita pelajari adalah inheritance (pewarisan).
Semua yang ada di dalam class (atribut dan method) disebut member. Biasanya akan ada tingkatan akses yang disebut modifier.
Pada hubungan inheritance, semua member di dalam class induk akan bisa diakses oleh class anak (subclass), kecuali memeber tersebut diberikan modifier private.
Perlu diingat!
Modifier tidak hanya bisa diberikan kepada member saja. Tapi juga bisa diberikan kepada interface, enum, dan class itu sendiri.
Perhatikan kode program berikut:

Yang saya garis bawahi pada kode di atas adalah modifier. Modifier ini nanti akan menentukan batasan akses member dan class.
Ada 3 Macam Modifier dalam Java
Secara umum ada 3 macam modifier yang digunakan dalam Java: public
, private
, dan protected
.
Apabila kita tidak menggunakan tiga kata kunci tersebut, maka member atau class itu tidak menggunakan modifier (no modifier).
Masing-masing modifier akan menentukan di mana saja member bisa diakses.
Berikut ini tabel jangkauan untuk masing-masing modifier:
Modifier | Class | Package | Subclass | World |
---|---|---|---|---|
public | Y | Y | Y | Y |
protected | Y | Y | Y | N |
no modifier | Y | Y | N | N |
private | Y | N | N | N |
Keterangan:
Y
artinya bisa diakses;N
artinya tidak bisa diakses;Subclass
artinya class anak;World
artinya seluruh package di aplikasi.
Pada tabel di atas, apabila kita tidak menggunakan modifier (no modifier), maka class dan member hanya akan bisa diakses dari Class itu sendiri dan package (class yang berada satu package dengannya).
Agar bisa diakses dari mana saja, maka kita harus memberikan modifier public
.
Mari kita lihat contohnya.
1. Public
Modifier public
akan membuat member dan class bisa di akses dari mana saja.
Contoh:
package modifier;
class Person {
public String name;
public changeName(String newName){
this.name = newName;
}
}
Pada class Preson
terdapat dua member, yaitu:
- atribut
name
- method
changeName()
Kedua member tersebut kita berikan modifier public
. Artinya mereka akan bisa diakses dari mana saja.
Namun, class Person
tidak kita berikan modifier. Maka yang akan terjadi adalah class tersebut tidak akan bisa diimpor (diakses) dari luar package.

Class Person
berada di dalam package modifier
, lalu kita coba akses dari default package, maka yang akan terjadi adalah error seperti gambar di atas.
Bagaimana solusinya agar bisa diakses dari luar package?
Solusinya adalah kita harus menambahkan modifier public
ke dalam class Person
.

Maka error akan menghilang dan class Person
akan bisa diimpor dari package manapun.
Pada class diagram, modifier public
digambarkan dengan simbol plus (+
).
Contoh:

Semua member dalam class Player
memiliki modifier public
. Perhatikan simbol +
yang ada di depannya.
2. Private
Modifier private
akan membuat member hanya bisa diakses oleh dari dalam class itu sendiri.
Perlu diingat:
Modifier private
tidak bisa diberikan kepada class, enum, dan interface. Modifier private
hanya bisa diberikan kepada member class.
Contoh:
class Person {
private String name;
public void setName(String name){
this.name = name;
}
public String getName(){
return this.name;
}
}
Pada contoh di atas, kita memberikan modifier private
pada atribut name
dan modifier public
pada method setName()
dan getName()
.
Apabila kita coba mengkases langusung atribut name
seperti ini:
Person mPerson = new Person()
mPerson.name = "Petani Kode"; // <- maka akan terjadi error di sini
Tidak percaya?
Coba saja di Netbeans:

Lalu, bagaimana cara mengakses member private
dari luar class?
Kita bisa memanfaatkan method setter dan getter. Karena, method ini akan selalu diberikan modifier public
.
Contoh:
Person mPerson = new Person();
mPerson.setName("Petani Kode");
System.out.println("Person Name: " + mPerson.getName());
Pada class diagram, modifier private
digambarkan dengan simbol minus (-
).

3. Protected
Modifier protected
akan membuat member dan class hanya bisa diakses dari:
- Class itu sendiri;
- Sub class atau class anak;
- Package (class yang berada satu package dengannya).
Modifier protected
juga hanya boleh digunakan pada member saja.
Contoh:
package modifier;
public class Person {
protected String name;
public void setName(String name){
this.name = name;
}
public String getName(){
return this.name;
}
}
Pada contoh di atas, kita memberikan modifier protected
pada atribut name
.
Apabila kita coba mengakses dari class yang satu package dengannya, maka tidak akan terjadi error.
Namun, apabila kita mencoba mengakses dari luar package seperti ini:
import modifier.Person;
public class Author {
Person p = new Person();
public Author() {
// akan terjadi error di sini karena atribut name
// telah diberikan modifier protected
p.name = "Petani Kode";
}
}
Maka akan terjadi error.

Pada class diagram (di StarUML), modifier protected
digambarkan dengan tanda pagar (#
).

Baca juga: Belajar Java OOP: Apa fungsi ‘this’ dan ‘super’ pada Java? | Belajar Java OOP: Memahami Prinsip Polimorfisme dalam OOP | Tutorial Java OOP: Memahami Interface di Java (dan Contohnya)
Recent Post
-
ITSEC Akan Menyelenggarakan Cybersecurity Summit 2025 di Jakarta
-
Gemini Live Hadirkan Fitur Kamera Canggih untuk Interaksi Digital
-
Alibaba Luncurkan Qwen3 untuk Tantang Dominasi OpenAI dan Google
-
Google Beri Ultimatum Karyawan untuk Kembali ke Kantor atau Kehilangan Pekerjaan
-
Bapak AI Peringatkan Ancaman Nyata dari Kecerdasan Buatan
-
Amazon Luncurkan Satelit "Project Kuiper" untuk Saingi Starlink
-
Perplexity Luncurkan Asisten Suara untuk Pengguna iOS
-
Takedown Notice Anthropic yang Membuat Heboh Komunitas Developer
Categories
- Business (141)
- Company Profile (3)
- Developer Connect (126)
- HR and L&D (23)
- Human Reasearch and Development (15)
- Landing Page (2)
- Marketing (27)
- Media Relations (72)
- News (39)
- Public Relations (48)
- Story (8)
- Technology (343)
- Tips and Trick (73)
- Toko Online (2)
- Uncategorized (25)
- Video & Tips (13)
- Wesclic (30)
Tags
Read More
ITSEC Akan Menyelenggarakan Cybersecurity Summit 2025 di Jakarta
titah 06/05/2025 0Sebagai perusahaan terkemuka di bidang keamanan siber di Asia Pasifik, ITSEC Asia terus menunjukkan komitmennya dalam menghadapi tantangan digital yang semakin kompleks. Salah satu bentuk…
Gemini Live Hadirkan Fitur Kamera Canggih untuk Interaksi Digital
titah 06/05/2025 0Teknologi semakin berkembang pesat dan salah satu inovasi terbaru dalam teknologi adalah fitur kamera dari…
Alibaba Luncurkan Qwen3 untuk Tantang Dominasi OpenAI dan Google
titah 06/05/2025 0Alibaba, perusahaan teknologi asal China, baru saja meluncurkan Qwen3. Model AI ini diklaim mampu bersaing…
Google Beri Ultimatum Karyawan untuk Kembali ke Kantor atau Kehilangan Pekerjaan
titah 06/05/2025 0Perubahan dalam dunia kerja bukanlah hal baru. Namun, langkah terbaru dari Google yang memberi ultimatum…
Bapak AI Peringatkan Ancaman Nyata dari Kecerdasan Buatan
titah 06/05/2025 0Kecerdasan buatan (AI) terus berkembang pesat dalam satu dekade terakhir. Dari sekadar alat bantu sederhana,…
Categories
- Business (141)
- Company Profile (3)
- Developer Connect (126)
- HR and L&D (23)
- Human Reasearch and Development (15)
- Landing Page (2)
- Marketing (27)
- Media Relations (72)
- News (39)
- Public Relations (48)
- Story (8)
- Technology (343)
- Tips and Trick (73)
- Toko Online (2)
- Uncategorized (25)
- Video & Tips (13)
- Wesclic (30)
Popular Tags