Java Access Modifiers Nedir? (Public, Private, Protected, Default)

Bu rehberde Java access modifiers (erişim belirleyiciler) konusunu detaylı şekilde öğreneceksiniz. public, private, protected ve default kavramlarını örneklerle açıklıyoruz.

Kısa özet: Access modifier’lar bir class veya değişkenin nereden erişilebileceğini belirler. Doğru kullanım, güvenli ve sürdürülebilir kod yazmanın temelidir.

Java’da yazdığınız her class, metod ve değişken için erişim kontrolü yapmak gerekir. Encapsulation (kapsülleme) prensibi gereği, her üyeye her yerden erişilmesi doğru değildir.


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 kullanılır.

  • public – Her yerden erişilebilir
  • private – Sadece aynı class içinde erişilebilir
  • protected – Aynı paket + alt classlar
  • default – Sadece aynı paket (modifier yazılmaz)

2. Access Modifiers Detaylı Anlatım

Public

Her yerden erişilebilir. En geniş erişim seviyesidir.

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

Private

Sadece tanımlandığı class içinde erişilebilir.

public class Kitap {
    private String isim;
}

Protected

Aynı paketteki classlar ve farklı paketlerdeki alt classlar erişebilir.

public class Demo {
    protected int x = 9;
}

Default (Package-Private)

Hiçbir modifier yazılmazsa varsayılan olur. Sadece aynı paket içinden erişilebilir.

class Deneme {
    void oku() { }
}

3. Erişim Belirleyiciler ve Kalıtım (Inheritance)

Java’da alt classlar sadece public ve protected üyeleri miras alabilir.

public class Hayvan {
    public String ses() { return "mö mö"; }
}

public class Inek extends Hayvan {
    public void kullanHayvan() {
        System.out.println(this.ses());
    }
}
Not: Private üyeler inheritance ile erişilemez.

4. Protected vs Default Farkı

  • Protected: Farklı paketlerden sadece inheritance ile erişilir
  • Default: Sadece aynı paket içinde erişim vardır

5. Access Modifier Karşılaştırma Tablosu

Erişim Aynı Sınıf Aynı Paket Alt Sınıf Diğer Paket
public
protected
default
private

Sık Sorulan Sorular

Private method override edilir mi?

Hayır, private methodlar override edilemez.

Default metoda farklı paketten erişilebilir mi?

Hayır, sadece aynı paket içinde erişilebilir.

Protected üyeye farklı paketten nasıl erişilir?

Sadece inheritance (kalıtım) ile erişilebilir.


Sonuç

Java access modifiers, yazdığınız kodun güvenliğini ve sürdürülebilirliğini doğrudan etkiler. Doğru modifier seçimi ile daha temiz, modüler ve güvenli yazılım geliştirebilirsiniz.

İpucu: Her değişkeni public yapmak yerine encapsulation prensibini uygulayın.

Etiketler: java access modifiers, public private protected, java encapsulation, java inheritance, java oop

Latest Software Developers - Yazılım Blog Yazarı Profil Resmi

Yazar

LatestSoftwareDevelopers

Blog where the most up-to-date software is followed. (En güncel yazılımların takip edildiği blog sitesi)

Java ile ilgili yorumlar

Yorum Paylaş

EMail Zorunlu alanlar * *