To prevent unauthorized access and maintain control.
Public fields can be accessed and modified directly from outside the class, leading to potential misuse or invalid states. By keeping fields private, you ensure modifications are done through controlled methods. For example, a `Cart` class with a public `itemList` field could be manipulated to contain invalid items without proper checks.