Nesne Tabanlı Programlama (Object Oriented Programming) ‘nın Kapsülleme (Encapsulation) prensibi kapsamında bir nesne altındaki varlıkların (değişkenler, metodlar, sabitler) ne derece erişilebilir olduğunu tanımlayabildiğimiz belirteçlerdir.
Erişim belirteçlerinin her yazılım dilindeki kullanımı farklılık gösterebilmektedir. Örneğin bazı dillerde bir değişkenin getter, setter erişimleri için bile erişim belirteci tanımlayabiliyorken, bazı dillerde bunların ikisi tek bir erişim belirteci ile tanımlanabiliyor olabilir.
Bu makalede genellikle kullanılabilen erişim belirteçlerini ele alıyor olacağız. Peki nedir bu erişim belirteçleri?
Public
Eğer bir varlığın (bu varlık bir değişken, method ya da sabit olabilir) erişim belirteci public olarak işaretlenmişse; bu varlık hem dışarıdan, hem ilgili nesne içerisinde hem de bu nesnenin alt ya da üst sınıfları tarafından kullanılabilir olacaktır.
Protected
Varlık belirteci protected işaretlenmişse; bu varlık yalnızca kendi içerisinde ve alt sınıflarında kullanılabilir olacaktır.
Peki ama neden buna ihtiyacımız olur? Bir varlığın durumunun yalnızca ilgili nesne ve alt sınıfları tarafından erişilmesi ya da değiştirilmesini istediğimizde kullanırız. Böylelikle ilgili varlığın erişim ya da değişim kapsamını kısıtlamış ve erişim/değişim kapsamını daha görece netleştirmiş oluruz.
Private
Varlık belirteci private işaretlenmişse; yalnızca ilgili nesne bağlamında (context) erişilebilir olur. Bu sayede dışarıdan ya da alt sınıflardan erişilemez olur.
Internal
Varlık internal olarak işaretlenmişse ya da genellikle varlık tanımı ilgili bağlamda yapıldıysa (bir metod içerisinde kullanmak üzere değişken tanımladığımızda) bu varlık yalnızca ilgili bağlam ve bu bağlam altında yer alan alt bağlamlarda kullanılabilir olur.
Bu erişim belirteçlerinin yanı sıra readonly gibi yardımcı belirteç diyebileceğimiz tanımlamalar ile bir nesnenin yalnızca okunabilir olmasını sağlayabiliriz.
Sınıf, metod ve değişken ismi ararken kendinizi sosyal medyada ya da kedi videoları izleyecek kadar kaybolmadığınız, derlemelerinizin hatasız olduğu ütöpik günler dilerim…