Encapsulation


এনক্যাপসুলেশন এর আইডিয়া হচ্ছে একটা অবজেক্ট এর ফিল্ড এবং মেথডকে একটা সিঙ্গেল ইউনিট এর মধ্যে রাখা।  এই সিঙ্গেল উনিটকে ক্লাস বলা হয়।  

সুবিধা 

  • ফিল্ড  এবং মেথড এর অ্যাক্সেস সহজেই  নিয়ন্ত্রণ করা যায়
  • কোড পরিবর্তন করা সহজ হয় 
  • কোড মেইনটেইন করা সহজ হয় 


class BankAccount {
    private double balance;  // private field

    public BankAccount(double initialBalance) {
        this.balance = initialBalance;
    }

    // Encapsulated access
    public double getBalance() {
        return balance;
    }

    public void deposit(double amount) {
        if (amount > 0) balance += amount;
    }

    public void withdraw(double amount) {
        if (amount > 0 && balance >= amount) balance -= amount;
    }
}