Encapsulation hides internal state and enforces controlled access.
Encapsulation in Java ensures that an object's internal state is hidden from the outside world and can only be accessed or modified through its methods. This prevents unintended interference and maintains the integrity of the object's state. For instance, encapsulating a `Product`'s `price` prevents direct unauthorized adjustments.