Java Class Üyeleri ve Access Modifiers Nedir?

Bu yazıda, Java class üyeleri ve access modifiers yani erişim belirleyicilerini detaylı şekilde açıklıyoruz. Public, private, protected ve default erişim belirleyicilerin farklarını ve kullanımlarını örneklerle öğrenebilirsiniz.

1. Access Modifiers (Erişim Belirleyiciler) Nedir?

Java’da bir class veya class üyesinin (metot, değişken, constructor) başka sınıflardan erişilebilirliğini belirlemek için erişim belirleyiciler kullanılır:

  • public – Her yerden erişilebilir.
  • private – Sadece tanımlandığı class içinde erişilebilir.
  • protected – Aynı paket içi ve farklı paketlerdeki alt classlardan erişilebilir.
  • default – (Belirtilmezse otomatik) Sadece aynı paket içinden erişilebilir.

2. Public, Private, Protected, Default Karşılaştırması

Public

Her yerden erişilebilir. Sınıfın ve üyenin public olması gerekir.

public class Hayvan {
    public void sesVer() {
        System.out.println("Ses");
    }
}

Private

Sadece tanımlandığı class içinde geçerlidir. Başka classlardan ve alt sınıflardan erişilemez.

public class Kitap {
    private String isim;
}

Protected

Aynı paketteki tüm classlar ile farklı paketlerdeki alt classlar erişebilir. Farklı paketlerden sadece kalıtım yoluyla erişim mümkündür.

public class Demo {
    protected int x = 9;
}

Default (Paket-Özel)

Hiçbir erişim belirleyici yazılmazsa varsayılan olur. Sadece aynı paket içinden erişim sağlanabilir.

class Deneme {
    void oku() { }
}

3. Erişim Belirleyiciler ve Kalıtım

Java’da alt classlar (subclass) sadece public ve protected üyeleri miras alabilir. Private üyeler başka classlardan ve alt classlardan erişilemez.

public class Hayvan {
    public String ses() { return "mö mö"; }
}
public class Inek extends Hayvan {
    public void kullanHayvan() {
        System.out.println(this.ses());
    }
}

4. Protected ve Default Farkı

  • Protected: Farklı paketlerden sadece kalıtım yoluyla ulaşılır.
  • Default: Sadece aynı pakette erişim mümkündür, kalıtım olsa bile farklı paketten erişim yoktur.

5. Erişim Tablosu

Erişim Belirleyici Aynı Sınıf Aynı Paket Alt Sınıf (Farklı Paket) Diğer Paketler
public
protected
default
private

6. Sık Sorulan Sorular

  • Private method override edilir mi? Hayır, override edilemez.
  • Default metoda farklı paketten erişilebilir mi? Hayır, sadece aynı paket içinde erişim mümkündür.
  • Protected üyeye farklı paketten nasıl erişilir? Sadece kalıtım (inheritance) ile ulaşılır.

Sonuç

Java’da class üyelerinin erişim belirleyicileri, kodun güvenli ve yönetilebilir olması için önemlidir. Doğru access modifier seçimi ile yazılımınızı daha esnek ve güvenli hale getirebilirsiniz. Daha fazla Java dersi ve programlama bilgisi için bizi takip edin!

Beğendiysen bir çay ısmarlayabilirsin ☕

Bana çay ısmarla

Java ile ilgili yorumlar

Yorum Paylaş

EMail Zorunlu alanlar * *