Welcome to Day 2! Today we focus on two core pillars of Object-Oriented Programming:
Encapsulation: Hiding internal state and requiring all interaction to go through performing validation or controlled methods.
Abstraction: Hiding complex implementation details and exposing only a clean, simplified interface to the user.
1. Access Modifiers: Public, Protected, & Private 🛡️
Python does not have strict enforcement keywords like public or private found in Java or C++. Instead, it uses naming conventions and name mangling to communicate intent and protect internal data.






