Takip et

Java’da Erişim Değiştiriciler Olmayan Niteleyiciler

Java’da Erişim Değiştiriciler Olmayan Niteleyiciler

Merhaba! Fatih Soysal olarak, bugün Java programlama dilinde erişim değiştiricilerden (public, private, protected) farklı olarak kullanılan, ancak sınıf üyelerinin (alanlar ve metotlar) davranışını etkileyen niteleyicileri (modifiers) inceleyeceğiz. Bu niteleyiciler, kodunuzun okunabilirliğini, sürdürülebilirliğini ve güvenilirliğini artırmanıza yardımcı olur. Öncelikle, bu niteleyicilerin ne olduğunu ve nasıl kullanıldığını ayrıntılı olarak ele alalım.

static Niteleyici

static niteleyici, bir üye değişkenin veya metodun sınıf seviyesinde, yani o sınıftan türetilen tüm nesneler için ortak bir şekilde tanımlandığını belirtir. Basitçe anlatmak gerekirse, sınıfın bir örneğini oluşturmanıza gerek kalmadan doğrudan sınıf adı üzerinden erişebilirsiniz. Bu, örneğin, bir sayaç değişkeni veya yardımcı metotlar için oldukça kullanışlıdır.


public class OrnekSinif {
    static int sayaç = 0;

    public OrnekSinif() {
        sayaç++;
    }

    public static void main(String[] args) {
        OrnekSinif nesne1 = new OrnekSinif();
        OrnekSinif nesne2 = new OrnekSinif();
        System.out.println("Sayaç: " + OrnekSinif.sayaç); // Çıktı: 2
    }
}

Yukarıdaki örnekte, sayaç değişkeni static olarak tanımlandığı için, her yeni OrnekSinif nesnesi oluşturulduğunda değeri artar ve bu değer tüm nesneler için ortaktır. Ayrıca, main metodu da static olarak tanımlanmıştır, bu nedenle bir nesne oluşturmadan doğrudan çalıştırılabilir.

final Niteleyici

final niteleyici, bir değişkenin, metodun veya sınıfın değerinin veya referansının değiştirilemeyeceğini belirtir. Bir değişken için kullanılırsa, değişkenin değeri başlatıldıktan sonra değiştirilemez. Bir metot için kullanılırsa, metot geçersiz kılınamaz (override edilemez). Bir sınıf için kullanılırsa, bu sınıftan başka bir sınıf türetilemez.


public class OrnekSinif2 {
    final int SABIT_DEGER = 10; 

    public static void main(String[] args) {
        // SABIT_DEGER = 20; // HATA: final değişkenin değeri değiştirilemez.
    }
}

Bu sayede, kodunuzda sabit değerleri koruyabilir ve beklenmedik değişikliklerin önüne geçebilirsiniz. Ayrıca, final metotlar, alt sınıfların beklenmedik değişiklikler yapmasını engeller ve kodun daha güvenilir olmasını sağlar.

abstract Niteleyici

abstract niteleyici, bir sınıfın veya metodun tamamlanmamış olduğunu, yani soyut olduğunu belirtir. Soyut bir sınıf, soyut metotlar içerebilir ve bu metotlar alt sınıflarda mutlaka gerçekleştirilmelidir. Soyut sınıfların örnekleri oluşturulamaz. Soyut metotlar, gövdesi olmayan metotlardır; sadece imzası bulunur.


public abstract class SoyutSinif {
    abstract void soyutMetot();
}

public class SoyutSinifCocuk extends SoyutSinif {
    @Override
    void soyutMetot() {
        System.out.println("Soyut metot gerçekleştirildi.");
    }
}

abstract sınıflar ve metotlar, polimorfizm gibi nesne yönelimli programlama kavramlarının temelini oluşturur. Bu kavramlar sayesinde, kodunuz daha esnek, daha genişletilebilir ve daha kolay bakımı yapılabilir hale gelir. Daha fazla bilgi için web sitemi ziyaret edebilirsiniz.

Umarım bu makale, Java’daki erişim değiştiriciler olmayan niteleyiciler hakkında size daha iyi bir anlayış kazandırmıştır. Bu niteleyicilerin doğru kullanımı, kodunuzun kalitesini önemli ölçüde artırabilir. Unutmayın ki, kod yazarken okunabilirlik ve sürdürülebilirlik çok önemlidir! Başka sorularınız varsa veya daha fazla bilgiye ihtiyacınız varsa, lütfen bana ulaşmaktan çekinmeyin.

Faydalı bulabileceğiniz diğer kaynaklar:

#Etiketler: Java, Erişim Değiştiriciler, static, final, abstract, Niteleyiciler, Programlama, Nesne Yönelimli Programlama, Fatih Soysal

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Gönder

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.
Mobil sürümden çık