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
privateuntuk 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.