Skip to main content

Encapsulation

πŸ“Œ Pengertian Encapsulation​

Encapsulation adalah konsep dalam OOP yang digunakan untuk membungkus data (attribute) dan method dalam satu class, serta membatasi akses langsung ke data tersebut.

Tujuannya:

  • Melindungi data (data hiding)
  • Mengontrol akses
  • Menjaga integritas data

πŸ” Access Modifier​

Access modifier digunakan untuk mengatur tingkat akses suatu class, method, atau attribute.

πŸ”Ήprivate​

Hanya bisa diakses dalam class yang sama.

class User {
private String nama;
}

πŸ”Ήprotected​

Bisa diakses dalam package yang sama dan subclass.

class User {
protected String nama;
}

πŸ”Ήpublic​

Bisa diakses dari mana saja.

class User {
public String nama;
}

πŸ”Ήdefault (tanpa modifier)​

Hanya bisa diakses dalam package yang sama.

class User {
String nama;
}

πŸ” Getter dan Setter​

Getter dan Setter digunakan untuk mengakses dan mengubah nilai attribute private.

class User {
private String nama;

// getter
public String getNama() {
return nama;
}

// setter
public void setNama(String nama) {
this.nama = nama;
}
}

πŸ”§ Contoh Implementasi Encapsulation​

class User {
private String nama;

public void setNama(String nama) {
this.nama = nama;
}

public String getNama() {
return nama;
}
}

public class Main {
public static void main(String[] args) {
User user = new User();
user.setNama("Ucup");

System.out.println(user.getNama());
}
}

πŸ“Œ Output:

Ucup

πŸš€ Keuntungan Encapsulation​

  • Data lebih aman (tidak bisa diakses langsung)
  • Kontrol penuh terhadap perubahan data
  • Kode lebih terstruktur
  • Mudah maintenance
  • Mendukung prinsip OOP lainnya

🧠 Best Practice dalam Encapsulation​

  • Gunakan private untuk attribute
  • Gunakan getter dan setter untuk akses
  • Validasi data di setter
  • Hindari expose field secara langsung
  • Gunakan immutable object jika memungkinkan

🎯 Penutup​

Encapsulation adalah konsep penting dalam OOP untuk menjaga keamanan dan integritas data, serta membuat kode lebih rapi dan terstruktur.