Java programlama dili, nesne yönelimli programlama prensiplerini uygulayan bir dil olarak bilinir. Bu prensiplerin en önemlilerinden biri Encapsulation yani Kapsülleme kavramıdır. Encapsulation, verileri ve metotları bir arada tutarak, bir nesnenin davranışlarını ve işlevlerini belirleyen önemli bir kavramdır. Bu yazımızda Java dilinde Encapsulation nedir ? konusunu daha detaylı bir şekilde inceleyeceğiz.

Encapsulation Nedir?

Encapsulation, nesne yönelimli programlama prensiplerinde bir nesnenin verilerinin dışarıdan erişime kapalı tutulmasıdır. Veriler, sınıfın içindeki değişkenlere atanır ve sınıfın dışındaki diğer nesneler tarafından doğrudan değiştirilemez. Bunun yerine, sınıfın içindeki metotlar kullanılarak verilere erişilebilir. Bu sayede, verilerin korunması sağlanır ve değişikliklerin kontrol edilmesi mümkün hale gelir.

Encapsulation kapsülleme anlamına gelir ve bir sınıfın içindeki verileri ve metotları bir arada tutar. Bu sayede, nesne davranışlarının kontrol edilmesi ve değiştirilmesi kolaylaşır. Örneğin, bir banka hesabı sınıfı düşünün. Bu sınıfın içinde müşterinin adı, hesap numarası ve hesap bakiyesi gibi veriler tutulabilir. Ancak, bu verilere sınıf dışındaki başka bir nesne tarafından doğrudan erişilemez. Bunun yerine, sınıfın içindeki metotlar kullanılarak verilerin okunması veya değiştirilmesi sağlanabilir.

Encapsulation, nesnelerin bağımsızlığını ve güvenliğini sağlar. Bir nesne, kendi verilerini tutar ve sınıf dışındaki diğer nesnelerin verilerine erişemez. Bu sayede, her nesne kendi davranışlarını ve işlevlerini kontrol edebilir ve diğer nesnelerden etkilenmez.

Encapsulation’ın Faydaları/Avantajları:

  1. Verilerin Korunması: Encapsulation, sınıf dışındaki nesnelerin verilere doğrudan erişmesini engeller. Bu sayede, verilerin korunması sağlanır ve yanlışlıkla veya kötü amaçlı kullanımlardan kaynaklanan hataların önüne geçilir.
  2. Esneklik: Encapsulation, nesnelerin davranışlarının değiştirilmesini kolaylaştırır. Verilerin ve metotların bir arada tutulması sayesinde, nesnenin davranışları ve işlevleri kolayca güncellenebilir. Bu sayede, uygulamanın gereksinimlerine uygun hale getirilmesi daha kolay hale gelir.
  1. Kodun Okunabilirliği: Encapsulation, kodun okunabilirliğini arttırır. Verilerin ve metotların bir arada tutulması, sınıfın işlevlerinin daha net anlaşılmasını sağlar. Bu sayede, kodun bakımı ve geliştirilmesi daha kolay hale gelir.
  2. Veri Uyuşmazlıklarının Önlenmesi: Encapsulation, veri uyuşmazlıklarının önlenmesine yardımcı olur. Sınıfın dışındaki nesnelerin verilere doğrudan erişememesi sayesinde, verilerin tutarlılığı sağlanır. Bu sayede, uygulamanın doğru çalışması garanti altına alınır.
Bu yazı dikkatini çekebilir.   Java While Döngüsü

Java Encapsulation Örnekleri

Daha iyi anlamak için bir tane Encapsulation örneği görelim.

Örnek: Banka Hesabı Uygulaması

Aşağıdaki kod örneği, Encapsulation prensibinin kullanıldığı bir Banka Hesabı uygulamasını gösterir. Bu örnek, hesap sahibinin ismi, hesap numarası ve hesap bakiyesi gibi özelliklerin bir Banka Hesabı nesnesi içinde saklanması gerektiğini göstermektedir.

public class BankaHesabi {
    private String hesapSahibi;
    private int hesapNumarasi;
    private double hesapBakiyesi;

    public BankaHesabi(String hesapSahibi, int hesapNumarasi, double hesapBakiyesi) {
        this.hesapSahibi = hesapSahibi;
        this.hesapNumarasi = hesapNumarasi;
        this.hesapBakiyesi = hesapBakiyesi;
    }

    public String getHesapSahibi() {
        return hesapSahibi;
    }

    public int getHesapNumarasi() {
        return hesapNumarasi;
    }

    public double getHesapBakiyesi() {
        return hesapBakiyesi;
    }

    public void setHesapBakiyesi(double hesapBakiyesi) {
        this.hesapBakiyesi = hesapBakiyesi;
    }
}

BankaHesabi sınıfı içindeki veriler private değişkenler olarak tanımlanmıştır. Bu değişkenlere sınıf dışındaki nesneler doğrudan erişemez. Bunun yerine, get ve set metotları kullanılarak verilere erişilir.


Sonuç olarak, Java dilinde Encapsulation, bir nesnenin verilerinin ve metotlarının korunmasını sağlayarak, kodun daha güvenli, esnek, okunaklı ve bakımı kolay hale gelmesini sağlar. Bu nedenle, Encapsulation, Java gibi nesne yönelimli programlama dillerinde oldukça yaygın olarak kullanılan bir prensiptir. Bu yazımızda Java dilinde Encapsulation nedir ? konusunu daha detaylı bir şekilde inceledik. Umarım faydalı olmuştur. Daha fazlası için ‘Java Dersleri‘ adlı kategorimize göz atabilirsiniz.