Encapsulation(Kapsülleme) ve Erişim Belirleyiciler(Access Modifiers)

Encapsulation(Kapsülleme), nesne yönelimli programlamada herhangi bir nesnenin metotlarını, özelliklerini ve değişkenlerini diğer nesnelerden saklayarak ve bunlara erişimini sınırlandırarak yanlış kullanımlardan koruyan bir konsepttir. Kapsüllemede temel amaç nesneyi kullanacak kişilerin iş akışıyla ilgili gereksiz detaylara uğraşmamasını sağlamak ve nesnelerin içinde bulunan hassas verilerin değiştirilmesini engellemektedir.Bu açıdan çok önemlidir.

Java’da dört erişim belirleyicisi (access modifier) vardır.

public: public kelimesi herkese açık anlamına gelmektedir. Bu erişim belirleyicisi ile tanımlanan herşey diğer bütün sınıflar tarafından erişilebilir.

private: Özel veya gizli anlamına gelir. Bu erişim belirleyicisi ile tanımlanan herhangi bir eleman sadece ve sadece aynı sınıf içerisinden erişilebilir. Yani diğer sınıflar hiç bir şekilde erişemez. Üst düzey sınıflarda(Top Level Class) ve Arayüzlerde(Interface) private erişim belirleyicisi ile işaretlenemez. Yani iç sınıflarda (Inner Class) işaretleyebilirsiniz. Ayrıca eğer bir sınıf’ın yapılandırıcısı (constructor) private erişim belirleyicisi ile işaretlenmişse bu sınıftan dışarıdan bir nesne üretilemez.

package-private (default): Pakete özel anlamına gelir. Bu erişim belirleyicisi ile işaretlenen herşey sadece ve sadece aynı paket içerisinde tanımlanan sınıflar tarafından erişilebilir. Farklı paketlerde bulunan sınıflar erişemez.

protected: Korumalı anlamına gelir. Bu erişim belirleyicisi ile herhangi bir sınıftan türetilmiş olan ve aynı paket içerisinde olan sınıflar içerisinden erişilebilir. Üst düzey sınıflarda(Top Level Class) ve Arayüzlerde(Interface) protected erişim belirleyicisi kullanılamaz. Yani iç sınıflarda (Inner Class) işaretleyebilirsiniz.

Beğenebileceğiniz Diğer Yazılar

2 Yorum

  1. 10 Haziran 2018

    […] Kapsülleme(Encapsulation) konumuzda da bahsetmiştik bir sınıfın kapsülledikten sonra dış dünyaya getter setterlar ile açarız. Lombok bunları aynı ismi taşıyan anotasyonlarla kendisi yapmaktadır. Bunun iki yolu vardır; ya sınıf seviyesinde tüm alanların ya da alan seviyesinde tek tek kendiniz erişim seviyesini belirtip getter setterları oluşturabilirsiniz. […]

  2. 28 Ağustos 2018

    […] Kapsülleme Konusu Hk. […]

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir