It is the technique of making the fields in a class private and providing access to the fields via public methods. If a field is declared private, it cannot be accessed by anyone outside the class, thereby hiding the fields within the class. Therefore encapsulation is also referred to as data hiding.
Encapsulation is one of the four fundamental concepts of Object-Oriented Programming (OOP) and is a mechanism that binds together code and data, hiding the implementation details and making them inaccessible to other objects outside the encapsulated object. In Java, encapsulation is achieved through the use of classes and access modifiers (public, private, protected) which control the visibility of class members (methods and variables). This allows data to be protected from outside influences, promotes code reusability, and enhances security by ensuring that data can only be accessed or modified in a controlled manner.