Encapsulation, nesnelerin sahip olduğu özellik ve davranışların gizlenmesidir. Türkçe karşılıklarına baktığımızda Sarmalama, Kapsülleme gibi anlamlara gelir. Bu işlem “private” ve “protected” anahtarları ile gerçekleştirilir.
Encapsulation, kapsülleme anlamına gelir. Encapsulation (Kapsülleme), nesne yönelimli olan programlamada yer alan herhangi bir nesnenin yöntemlerini, değişkenlerini ve özelliklerini diğer nesnelerden saklayarak, bunlara erişimini sınırlandırır. Bunun sonucunda ise yanlış kullanımlardan koruyan farklı bir konsepttir.
Encapsulation bir nesnenin belirli özellik ve metotlarının erişiminin kısıtlanması ve saklanmasıdır. Bu kısıtlamalar kötü amaçlı kullanım ve istenmeyen veri girişlerini engeller.
Java Encapsulation (Kapsülleme) kavramını programlarımız üzerinde koruma ve esneklik sağlamak için kullanırız. Java Encapsulation temel olarak bir sınıfın, içerisinde bulunan metotların ve değişkenleri koruması işlemidir.
Kapsülleme veya diğer adıyla veri kapsülleme işlemi, basitçe bir sınıfın (class) dışarıya karşı kapalı hale getirilmesi ve sınıfa erişimin kapsüllenmesi yani engellenmesidir. Kapsülleme yöntemiyle kaynak kodu ve sisteme dahil olan veri bir bütün olarak tutulur ve programcıya nesneleri koruma gücünü verir.
İlgili 16 soru bulundu
Encapsulation (Kapsülleme) Sarmalama ilkesi, bir sınıfa ait değişkenlerin veya niteliklerin ancak o sınıfa ait metotlar tarafından değiştirilebilmesi ve okunabilmesi ilkesidir. Bu ilke sayesinde nesnelerde oluşacak anlamsızlıkların önüne geçilebilir.
Bu özellik, dilin nesne kullanıcısından gereksiz uygulama ayrıntılarını saklar. Oluşturulan bir sınıf (class) içerisinde kullanıcının işlemlerini daha kolay gerçekleştirebilmesi için bazı işlemler birleştirilerek tek bir işlem gibi gösterilir. Bu birleştirme işlemine kapsülleme denir.
OOP'nin 4 Ana Prensibi: Encapsulation, Inheritence, Abstraction, Polymorphism. İyi bir kod tasarımı için uyulması gereken bazı prensipler vardır. Prensipler zorunlu değildir fakat uyulduğunda hem dünya çapında standart bir kod yazmış oluruz hem de sürdürülebilirliği yüksek bir iş ortaya çıkar.
Veri her katmandan geçerken üstüne bir header eklenerek ya da bir header çıkarılarak katman değiştirir. Bu olaya encapsulation/decapsulation denir. Her katman kendi ile ilgili header'ı açarak işlem yapar.
Ağ teknolojileri için anlamı, katmanlı mimaride (OSI katmanı veya Internet katmanları gibi), her katman arasında verinin bir kapsüle konularak diğer (alt veya üst) katmana geçirilmesidir.
Sonuç olarak, getter ve setter metotları, sınıfın verilerine erişim ve değişiklikler üzerinde kontrol sağlayarak programların daha güvenli, sürdürülebilir ve esnek olmasına yardımcı olur. Bu nedenle, nesne tabanlı programlamada sıkça kullanılırlar.
Encapsulation, modüle ait davranışların; fonksiyonlar ve metotların erişilebilir olmasını/olmamasını sağlar. Referans kodumuz aşağıdadır. Modül içerisinde değişken ve metotlarımızı tanımladıktan sonra, return bölümüne Object Literal olarak dışarıya açacağımız metot ve değişkenlerimizi belirtiyoruz.
Kapsülleme, sınıfınız içindeki özellik ve fonksiyonlara diğer sınıflar içinden yetkisiz erişimden korunması işlemidir. Bunun için erişim yetkilerini siz belirlersiniz. Bir sınıftaki özellikleri(değişkenleri) özel(private) olarak belirleyerek dış erişimden koruyabilirsiniz.
Nesne yönelimli programlama dillerinde çok biçimlilik özelliği ise aynı temel sınıftan türetilmiş olan sınıflarda paylaşılan, başka bir ifadeyle aşırı yüklenen aynı metodun bu sınıflarda farklı şekillerde uyarlanabilmesidir.
Bu yazının amacı, nesne yönelimli programlama kavramlarından birisi olan kapsülleme işlemini (encapsulation), C++ dili üzerinden anlatmaktır. Kapsülleme veya diğer adıyla veri kapsülleme işlemi, basitçe bir sınıfın (class) dışarıya karşı kapalı hale getirilmesi ve sınıfa erişimin kapsüllenmesi yani engellenmesidir.
Kapsülleme (ya da Sarma) nesne yönelimli programlamada herhangi bir nesnenin metotlarını, verilerini ve değiskenlerini diğer nesnelerden saklayarak ve bunlara erişimini sınırlandırarak yanlış kullanımlardan koruyan bir konsepttir.
Verinin uygulama katmanından başlayarak en alttaki fiziksel katmana doğru ilerlerken her bir OSI katmanında yeni başlık bilgilerinin eklenip fiziksel katmanda bitlere dönüştüğü sürece verilen isme veri kapsülleme (data encapsulation) denir.
Uygulama Katmanı
Uygulama katmanı ağ servisini kullanacak olan programdır. Bu katman kullanıcıların gereksinimini karşılar. SSH, telnet, FTP, TFTP, SMTP, SNMP, HTTP, DNS protokolleri ve tarayıcılar bu katmanda çalışır.
TCP/IP'de bir cihazdan yollanan veriler katmanlara göre paketlenerek yollanır. Alıcı cihaza ulaştığında ise bu veri paketleri tek tek açılıp veri ulaştırılır. Katmanlar derken bu protokol takımı dört farklı katmandan oluşur; Application (Uygulama), Transport (Taşıma), Internet, Network Interface (Ağ arayüzü).
OOP, günümüzde en çok kullanılan yazılım paradigmasıdır. Hal böyleyken kod içerisinde anlatmak ne kadar basitse, high level olarak anlatmak bir o kadar zor.
Örnek: “Memeli” sınıfından direkt bir nesne oluşturulmaz; ancak alt sınıfları tanımlanarak onlardan nesneler oluşturulur. Soyut sınıfın yöntemlerini, alt-sınıfları tarafından üzerine yazılmak üzere, sadece şablon olarak tanımlayıp içlerini boş bırakabiliriz veya soyut yöntem (“abstract method”) olarak tanımlayabiliriz.
Encapsulation. Class içerisinde tanımlanan değişkenleri get ve set etme işlemlerine denir. Java'da get ve set işlemleri için ayrı ayrı metodlar yazmamız gerekirken Kotlin bize bu işlemi otomatik sağlar. Dilersek get ve set metodlarını özelleştirebiliriz.
Inheritance (miras alma, kalıtım), bir nesnenin özelliklerinin farklı nesneler tarafından da kullanılabilmesine olanak sağlayan OOP özelliğidir. Yazılan bir sınıf bir başka sınıf tarafından miras alınabilir.
Abstraction (Soyutlama) detayları saklama ve sadece gösterilmesi istenen bilgileri kullanıcıya göstermek amacıyla kullanılır. Abstraction(Soyutlama) hem Abstract class(soyutlama sınıfları) ile hem de interfaces (arayüzler) ile yapılır. Abstrat keyword sınıflar ve metotlar için kullanılır.
Benzer sorularSıkça sorulan sorular
DuyuruReklam alanı
Popüler SorularSıkça sorulan sorular
© 2009-2025 Usta Yemek Tarifleri