Tavsiye, 2021

Editörün Seçimi

Veri Gizleme ve Kapsülleme Arasındaki Fark

Hem veri gizleme hem de kapsülleme, nesneye yönelik programlama için önemli kavramlardır. Kapsülleme, veri sınıfının uygulanmasını ve bir sınıf içindeki yöntemlerin sarılması anlamına gelir. Tüm veri üyesinin ve bir sınıf içindeki yöntemlerin uygulanması kapsüllendiğinde, yöntem adı yalnızca o sınıfın bir nesnesinde hangi işlemi gerçekleştirebileceğini tanımlayabilir. Veri Gizleme, bir sınıfın üyelerini yasadışı veya yetkisiz bir erişimden korumak anlamına gelir. Veri gizleme ve kapsülleme arasındaki temel fark, veri gizlemenin, veri güvenliğine ve kapsüllemeye daha fazla odaklanmasına, sistemin karmaşıklığını gizlemeye odaklanmasıdır. Veri gizleme ve kapsülleme arasında, aşağıda gösterilen karşılaştırma çizelgesinde açıklanan diğer bazı farklılıklar vardır.

Karşılaştırma Tablosu

Karşılaştırma için temelVeri Gizlemekapsülleme
TemelVeri gizleme, veri güvenliği ile birlikte gizlenmenin karmaşıklığı ile ilgili endişelerdir.Kapsülleme, bir sistemin karmaşıklığını gizlemek için verilerin kaydırılması ile ilgilidir.
odakVeri Gizleme, kapsül içindeki verilerin kullanımını kısıtlamaya veya izin vermeye odaklanır.Kapsülleme, karmaşık verileri sarmaya veya sarmaya odaklanır.
Erişim BelirteciVeri gizleme altındaki veriler her zaman özel ve erişilemezdir.Kapsülleme altındaki veriler özel veya genel olabilir.
süreçVeri gizleme, teknik olduğu kadar bir süreçtir.Kapsülleme, veri gizlemede bir alt işlemdir.

Veri Gizlemenin Tanımı

Veri gizleme, nesneye yönelik programlamada, bir sınıfın üyelerinin yetkisiz erişime karşı güvenliğini onaylayan bir kavramdır. Veri gizleme, veri üyelerini manipüle edilmekten veya başka herhangi bir kaynaktan saldırıya uğramaktan korumak için kullanılan bir tekniktir. Veriler bir programın en hassas ve değişken içeriği olup, manipüle edildiğinde hatalı bir çıktıyla sonuçlanabilir ve ayrıca verilerin bütünlüğüne zarar verir. Veri gizleme, Java'da erişim değiştiricilerin (özel, genel ve korumalı) yardımı ile kontrol edilir. Genel olan verilere sınıf dışından erişilebilir, bu nedenle verilerinizi gizlemek veya dışarıdan erişilmesini kısıtlamak istiyorsanız verilerinizi özel ilan edin. Özel verilere yalnızca o sınıfın nesneleri tarafından erişilebilir.

Bir örnek yardımı ile saklanan verileri anlayalım. Bir CheckAccount sınıfı bildirdiğinizi ve bu sınıf içinde bir veri üyesi bakiyeniz olduğunu varsayalım. Burada bir hesap bakiyesi hassas bilgidir. Bir dış uygulamanın bir hesabın içindeki bakiyeyi kontrol etmesine izin verebilirsiniz, ancak bir dış uygulamanın bakiye niteliğini değiştirmesine izin vermezsiniz. Bu nedenle, özel bakiye özniteliğini beyan etmek, dış bir uygulamadan bakiye erişimini kısıtlar.

Veri gizleme ayrıca sistemin karmaşıklığını da azaltır. Kapsülleme, veri gizlemenin bir alt işlemi olduğundan kapsülleme yoluyla veri gizleme elde edilebilir.

Kapsülleme Tanımı

Kapsülleme, bir sınıfın karmaşıklığını gizlemek için kodu ve verileri bir kapsülde birbirine bağlamaktır. Enkapsülasyonun erişim belirleyicileri (özel, halka açık ve korumalı) ile ilgisi yoktur. Bir sınıf içindeki kapsülleme üyelerinde özel, genel veya korumalı olabilir . Bir sınıfın özel üyelerine yalnızca o sınıfın nesnelerine erişilebilir ve genel üyelere sınıfın nesnelerine erişilebilir, ayrıca sınıf dışından da erişilebilir. Kapsülleme, bir sistemin son kullanıcısının, nasıl yapılması gerektiği yerine sistemle ne yapacağını öğrenmesine yardımcı olur.

Bir araba örneği yardımıyla kapsüllemeyi anlayalım. Bir arabanın şoförü arabanın donanımını değiştirmek istiyorsa, ihtiyacı olan şey sadece arabanın karaciğeri çalıştırma dişlilerinin konumunu değiştirmek ve böylece bir arabanın donanımını değiştirmektir. Bir sürücünün, vites değiştirmenin arkasında yatan mekanizmanın ne kadar karmaşık olduğunu anlaması gerekmez. Bu, kapsülleme bir sistemin karmaşıklığını nasıl azalttığını gösterir. Kapsülleme, sistemin son kullanıcı tarafından çalıştırılmasını kolaylaştırır.

Veri Gizleme ve Kapsülleme Arasındaki Temel Farklılıklar

  1. Kapsülleme, bir programın karmaşıklığını gizleme ile ilgilidir. Öte yandan, veri gizleme bir programdaki verilerin güvenliği ile ilgilidir.
  2. Kapsülleme, kullanıcı için daha basit bir görünüm sunmak için karmaşık verileri sarmaya (kapsüllenmeye) odaklanır. Öte yandan, veri gizleme, veri güvenliğini sağlama amaçlı veri kullanımını kısıtlamaya odaklanmaktadır.
  3. Kapsülleme verilerinde genel veya özel olabilir, ancak verilerin gizlenmesinde veriler yalnızca özel olmalıdır.
  4. Veri gizleme bir teknik olduğu kadar bir süreçtir, oysa kapsülleme veri gizlemede alt işlemdir .

Sonuç:

Bir sistemin uygulanmasında hem veri gizlemenin hem de kapsüllemenin önemli olduğunu söyleyerek sonuç veriyorum. Her ikisi de, verilerin gizlenmesinin veri güvenliğine odaklandığı yerlerde, enkapsülasyon, uygulamayı daha kullanıcı dostu hale getirmek için sistemin karmaşıklığını azaltmaya odaklanır.

Top