Java’da kapsülleme, sınıf içerisindeki metot ve değişkenlerin tek bir birim altında toplanması ve korunmasıdır. Kapsülleme sayesinde biz metotlarımızı ve değişkenlerimizi korunma amaçlı olması açısından gizleyebiliriz. Farklı sınıflardan, başka bir sınıfın değişkenlere müdahale edilmesini engellemek için kullanırız.
Java’da Kapsülleme Avantajları
- Kapsülleme ile diğer sınıflardan erişilmesini engelleyebiliriz ve bu sayede verileri gizleyebiliriz.
- Kapsülleme, programın sürdürülebilirliğini arttırır.
- Kapsülleme ile kodları daha esnek, düzenli ve daha okunaklı bir duruma getirebiliriz.
- Kapsülleme, yeniden kullanılabilirliği arttırır ve yeni gereksinimlerle göre kolayca değiştirilebilir.

Erişim Belirleyiciler
Erişim belirleyicilerimizi kullanarak yapacağımız programlarda, metotlarımıza veya değişkenlerimize ulaşmanın gizlilik durumunu belirleyebiliriz. Aşağıda maddeler halinde, erişim belirleyicilerimizin gizlilik durumunu açıklayacağım.
- public: Elemanımızı public olarak tanımlarsak, elemanımıza herkes ulaşabilir.
- protected: Aynı pakette bulunan sınıflar tarafından erişilebilir.
- private: Sadece bulunduğu sınıftan erişilebilen elemanlardır.
- default: Paket içerisinden erişilebilen elemanlardır.
Kapsülleme kavramımız ile örnek yapalım:
Örnek
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | public class Kapsülleme { //private ile elemanlarımı tanımladım. private String arac_marka; private String model; private int arac_yas; //get ve set metodları ile erişimleri sağladık. public String getarac_marka() { return arac_marka;//get metodumuzda return kavramı kullanılır. } public void setarac_marka(String arac_marka) { this.arac_marka = arac_marka;//sınıf elemanıyla karışmaması için this kullandık } public String getmodel() { return model; } public void setmodel(String model) { this.model=model; } public int getarac_yas() { return arac_yas; } public void setarac_yas (int arac_yas) { this.arac_yas = arac_yas; } } public class main { public static void main(String[] args) { Kapsülleme k1 = new Kapsülleme();//nesnemizi oluşturduk. k1.setarac_marka("seat");//bilgilerimizi doldurduk. k1.setmodel("leon"); k1.setarac_yas(3); System.out.println("Araç markası = " + k1.getarac_marka()); System.out.println("Araç modeli = " + k1.getmodel()); System.out.println("Araç yaşı = " + k1.getarac_yas()); } } |
Ekran Çıktısı
1 2 3 | Araç markası = seat Araç modeli = leon Araç yaşı = 3 |
Yapmış olduğumuz örnekte private anahtar kelimesi ile elemanlar tanımladık. Elemanlarımızı private ile tanımladığımız için dışarıdan bir sınıf ile bu elemanlara erişilemez. Bu gizli elemanlarımıza erişmek için get ve set metotlarını kullandık. Bu metotlara alıcı ve ayarlayıcı metotlar deriz.