Learn how to implement encapsulation in Java and why it is a core principle of Object-Oriented Programming (OOP).
What is Encapsulation?
Encapsulation is one of the four pillars of Object-Oriented Programming. It refers to the bundling of data (fields) and methods (functions) that operate on the data into a single unit, typically a class. By using encapsulation, you can restrict direct access to certain components of an object, ensuring that they are modified only through well-defined interfaces.
In Java, encapsulation is achieved by using access modifiers like private
, public
, and protected
.
Steps to Implement Encapsulation
- Declare the fields of a class as
private
. - Provide public getter and setter methods to access and update the private fields.
- Use getter and setter methods to control access, apply validation, or add logic before accessing or modifying data.
Example: Encapsulation in Action
public class Student {
// Step 1: Declare fields as private
private String name;
private int age;
// Step 2: Provide public getter and setter methods
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
// Step 3: Add validation logic
if (age > 0) {
this.age = age;
} else {
System.out.println("Age must be a positive number.");
}
}
}
public class Main {
public static void main(String[] args) {
Student student = new Student();
student.setName("Alice");
student.setAge(20);
System.out.println("Name: " + student.getName());
System.out.println("Age: " + student.getAge());
}
}
Benefits of Encapsulation
- Data Hiding: Prevents unauthorized access to sensitive data.
- Improved Maintenance: Changes in the implementation do not affect external code.
- Flexibility: Allows you to add logic when getting or setting fields.
- Reusability: Encapsulated code is modular and easier to reuse.
0 Comments