Merhaba Jetto Net takipçileri!
Java Nesne Yönelimli Programlama (OOP) serimize hoş geldiniz. Bir önceki yazıda, beklenmedik durumlarda programın çökmemesi için istisna yakalama mekanizmasını incelemiştik. Bu yazıda ise Java'nın tip güvenliğini artıran ve kod tekrarını azaltan güçlü bir özelliği olan "generics" (genel tipler) konusunu ele alacağız.
Generics (Genel Tipler) Nedir?
Konuyu temelden ele alacak olursak Java’da her oluşturduğumuz sınıf yapısı Object sınıfından türeyen alt sınıflardı. Bu yüzden oluşturulan her nesne Object tipine ait nesneler oluyordu.
Bu özelliğinden dolayı oulşturulan bu nesneleri her veri tanımlaması içerisinde kullanabiliriz. Tanımladığımız bu yapılar program derlenirken bir hata vermez fakat run-time esnasında programımız, tanımlı verilerin aynı tipte olmadığını tespit ederek bizlere hata göstermesi olası bir hale gelir. Bu sorunu çözmek içinde kullanacağımız kurtarıcı kavram Generic yapılardır.
Kısaca, Java Generic, programlar içerisinde farklı referans veri tiplerine ev sahipliği yapacak işlemlerimize, üzerinde hangi referans tiplerini taşımasını istediğimize karar vermemize olanak sağlayan bir sınıftır.
Teorik bilgi olarak her şey yolunda, anlaşılır olarak gözükmeyebilir ama kullanım yapısını ele alırsak java generic nedir sorusu için aklımızda bazı şeylerin canlanabileceğini düşünüyorum.
Generics Nasıl Kullanılır?
Bir sınıfı, arayüzü veya metodu generic hale getirmek için, sınıf, arayüz veya metot adından sonra köşeli parantezler (<>) içinde tip parametresi adı belirtilmelidir. Tip parametresi adı genellikle T, E, K, V gibi tek harflerden oluşmaktadır.
public class Box<T> {
private T content;
public Box(T content) {
this.content= content;
}
public T getContent() {
return content;
}
}
Display More
Yukarda verdiğimiz örnekte, Box adında generic sınıf tanımladık. Bu sınıf, T adında bir tip parametresi alıyor. Yani T, kutunun içinde saklanacak verinin tipini temsil ediyor.
Generic Avantajları
- Tip Güvenliği: Generic ile derleme zamanında tip güvenliğini sağlamış oluruz. Yanlış tipte olan verilerle çalışmaya çalıştığımızda derleyici hata verir.
- Kodun Yeniden Kullanılabilirliği: Aynı kodu farklı veri tipleri için tekrar tekrar yazmak zorunda kalmayız.
- Kodun Okunabilirliği: Generic ile kodlarımız daha okunabilir olmaktadır.
Generics Kullanım Örnekleri
Box<String> stringBox = new Box<>("Merhaba");
String message = stringBox.getContent();
Box<Integer> numBox = new Box<>(123);
int num = numBox .getContent();
Yukarda verilen örnekte, String ve Integer tipleri için Box nesneleri oluşturduk.
Sonuç
Generics, Java'da tip güvenliği, kodun tekrar tekrar kullanılabilirliği ve okunabilirliği açısından önemli bir özelliktir. Generics'i kullanarak daha güvenli, daha esnek ve daha bakımı kolay kodlar yazabiliriz.
Bir sonraki yazımızda, OOP'nin diğer önemli kavramlarını incelemeye devam edeceğiz. Yorumlar kısmında sorularınızı veya görüşlerinizi yazzabilirsiniz.
İyi Kodlamalar!