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.
3 yıl sonra yazınızı okuyup bilgileniyorum. teşekkür ederim.
Güzel yorumların için çok teşekkür ederim 😉