Java Kapsülleme – Encapsulation

Bir sınıf içeriğinin, onun üyelerini kullananlar tarafından bilinmesine gerek duymadan sadece metodun verdiği hizmetin gösterilmesi işlemidir.

Kapsülleme ile bir sınıf, kendi iç bütünlüğünü gizleyebilir ve koruyabilir.

Sınıfın bazı özellik ve metodlarına dışarıdan erişim sınıfın güvenliği açısından tehlikeli olabilir. Örneğin int tipinde yas diye bir değişkenimiz olsun. Bu değişkene negatif değer setlensin istemeyiz. Bu durumda setYas metodu içinde bu kontrolü yaparak değişkenimize negatif değerler girilmesine engel olup yazılımımızın hatalı çalışmasını önlemiş oluruz.
Private: Sınıfa özel değişkenlerdir.
Public: Herkese açık olan değişkenlerdir.
Protected: Extends edenlere türetenlere ve aynı pakette olanlara açık olan değişkenlerdir.
Default: Hiçbirşey yazılmazsa aynı pakettekilerin erişebildiği değişkenlerdir.

Aşağıdaki kodumuzda ad, soyad ve yas değişkenlerimize sınıf dışından erişilmesini istemediğimizden private olarak tanımladık, korumaya aldık. Ad, soyad ve yas değerlerine atama ve okuma işlemi ancak get ve set metodları çağrılarak onlar üzerinden yapılabilir. Atama işlemi için set metodu, okuma işlemi için ise get metodu kullanılır. Aşağıdaki kod parçası ile bu sınıfı kullanan kişinin yas değerine negatif değer atamasının önüne geçmiş olduk.

public class Kisi {

private String ad;
private String soyad;
private int yas;

public String getAd() {
return ad;
}

public void setAd(String ad) {
this.ad = ad;
}

public String getSoyad() {
return soyad;
}

public void setSoyad(String soyad) {
this.soyad = soyad;
}

public int getYas() {
return yas;
}

public void setYas(int yas)
{
if(yas>0)
{
this.yas= yas;
}
}

« »