Intern
What is encapsulation in programming?
sobes.tech AI
Answer from AI
Encapsulation is a mechanism of bundling data and methods that operate on that data into a single unit (class) and hiding the internal implementation details from the outside world.
Key aspects:
- Data hiding: Class fields are usually declared as
privateorprotectedto restrict direct access from outside. Access is provided through accessor methods (getters and setters).public class Person { private String name; // Data hiding public String getName() { // Getter return name; } public void setName(String name) { // Setter this.name = name; } } - Aggregation: Data (variables) and behavior (methods) of an object are combined within a single class.
- Access control: Encapsulation allows controlling how data can be modified or read, ensuring data integrity. For example, checks can be added in setters:
public void setAge(int age) { if (age > 0) { // Check before setting value this.age = age; } else { System.out.println("Age must be a positive number."); } }
Advantages:
- Modularity: Simplifies understanding and maintaining code.
- Data protection: Prevents incorrect modification of data.
- Flexibility: Allows changing the internal implementation of a class without affecting other code that uses this class, provided the public API (accessor methods) remains unchanged.
- Reusability: Encapsulated components are easier to use in other parts of the application.
Encapsulation is one of the three fundamental principles of object-oriented programming (along with inheritance and polymorphism).