🔒 Encapsulation

Last Updated: 06 Sept 2025


Encapsulation = Wrapping data (variables) + methods (functions) into a single unit (class).

  • Protects data from direct access.
  • Gives controlled access through getters & setters.

Hinglish Tip 🗣: Socho ek "medicine capsule" → andar powder (data) hai, bahar ek cover (class) hai jo control karta hai ki powder kaise consume hoga.


✏ Simple Example

class Student:
    def __init__(self, name, age):
        self.__name = name    # private variable
        self.__age = age

    # Getter
    @property
    def age(self):
        return self.__age

    # Setter
    @age.setter
    def age(self, value):
        if value > 0:
            self.__age = value
        else:
            print("Invalid age!")

s = Student("Amit", 20)
print(s.age)   # ✅ Access via getter
s.age = 25     # ✅ Update via setter
print(s.age)
s.age = -5     # ❌ Invalid update

💡 Quick Practice