Merhaba Jetto Net takipçileri!
Java Nesne Yönelimli Programlama (OOP) serimize hoş geldiniz. Bu bölümde, nesnelerin iç dünyalarını dış etkenlerden koruyan ve veri güvenliğini sağlayan önemli bir OOP prensibi olan "kapsüllemeyi" (encapsulation) ele alacağız.
Kapsülleme (Encapsulation) Nedir?
Kapsülleme, bir nesnenin verilerini ve bu veriler üzerinde çalışan metotlarını bir araya getirerek, dışarıdan doğrudan erişimi kısıtlamaktır. Böylece, nesnenin iç yapısını koruyarak veri bütünlüğünü sağlarız ve kodumuzun daha güvenli olmasına katkıda bulunuruz.
Kapsüllemeye gerçek hayattan bir örnekle anlatmak istersek televizyonu ele alabiliriz. Televizyonun iç yapısı, karışık birçok elektronik devrelerden oluşur. Fakat biz, televizyonu kullanırken bu karışık detayları bilmek zorunda değiliz. Yalnızca televizyon kumandasındaki düğmelere basarak kanalı değiştirebilir, sesi açıp kapatabilir veya televizyonu kapatabiliriz. Ttelevizyonun iç yapısı bizim için kapsüllenmiştir, yani gizlenmiştir.
Şimdi bunun Java'da kullanımına bir göz atalım:
Java'da Kapsülleme
Java dilinde kapsülleme, erişim belirleyicileri ve getter/setter metotları kullanılarak uygulanmaktadır.
public class Televizyon {
private int kanal; //erişim belirleyici olan private ile kapsülleme
private int sesSeviyesi;
// Getter metotları
public int getKanal() {
return kanal;
}
public int getSesSeviyesi() {
return sesSeviyesi;
}
// Setter metotları
public void setKanal(int yeniKanal) {
if (yeniKanal > 0 && yeniKanal < 100) { // Geçerlilik kontrolü
kanal = yeniKanal;
}
}
public void setSesSeviyesi(int yeniSesSeviyesi) {
if (yeniSesSeviyesi > 0 && yeniSesSeviyesi < 20) { // Geçerlilik kontrolü
sesSeviyesi = yeniSesSeviyesi;
}
}
}
Display More
Yukardaki örnekte, Televizyon sınıfının kanal ve sesSeviyesi özellikleri private olarak belirlenmiştir. Bu özelliklere direkt olarak erişmek mümkün değildir. Fakat, getKanal(), getSesSeviyesi(), setKanal() ve setSesSeviyesi() gibi public metotlar vasıtasıyla bu özelliklere kontrollü bir biçimde erişilebilir ve değiştirebiliriz.
Java'da Kapsüllemenin Avantajları
- Veri Gizleme: Nesnenin iç yapısını gizleyerek veri bütünlüğünü korur.
- Kodun Bakım Kolaylığı: Nesnenin iç yapısını değiştirdiğimizde, sadece ilgili sınıfı güncellememiz yeterli olur.
- Esneklik: Nesnenin davranışını değiştirmek için getter/setter metotlarını güncelleyebiliriz.
Kapsülleme, Java'da nesne yönelimli programlamanın temel prensiplerinden biridir. Kapsüllemeyi kullanarak daha güvenli, daha sürdürülebilir ve daha esnek 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!