Encapsulation is a way of wrapping up data and methods into a single unit. Encapsulation puts the data safe from the outside world by binding the data and codes into single unit. This is best way to protect the data from outside the world.
Encapsulation is nothing but protecting anything which is prone to change. rational behind encapsulation is that if any functionality which is well encapsulated in code i.e maintained in just one place and not scattered around code is easy to change. this can be better explained with a simple example of encapsulation in Java.
Advantage of Encapsulation in Java and OOPS
Example of Encapsulation :
Example 1:
public class Person{ private String name; private int age; private double height; private double weight; public void setName(String name){ this.name=name; } public String getName(){ return name; } public void setAge(int age){ this.age=age; } public int getAge(){ return age; } public void setHeight(double height){ this.height=height; } public double getHeight(){ return name; } public void setWeight(double weight){ this.weight=weight; } public double getWeight(){ return weight; }
As you can see in the above class all of its properties are private-meaning that they cannot be accessed from outside the class- and the only way to interact with class properties is through its public methods.
Example 2:
I have create a class Car which has two methods:
- move().
- internalCombustion()
The move method depends on internalCombustion() method. But an Employee needs only move method and need not be aware of internalCombustion behavior. So, the internalCombustion behavior can be declared private so that it can be only visible to the members inside the class.
Summary:
Encapsulation is a primary fundamental principle in Object oriented programming. It is used to enforce the security to restrict the visibility of the members to other components.