Encapsulation in Java

This tutorial describe concept of Encapsulation. It is one of OOPs concept.

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

Here are few advantages of using Encapsulation while writing code in Java or any Object oriented programming language:

1. Encapsulated Code is more flexible and easy to change with new requirements.

2. Encapsulation in Java makes unit testing easy.

3. Encapsulation in Java allows you to control who can access what.

4. Encapsulation also helps to write immutable class in Java which are a good choice in multi-threading environment.

5. Encapsulation reduce coupling of modules and increase cohesion inside a module because all piece of one thing are encapsulated in one place.

6. Encapsulation allows you to change one part of code without affecting other part of code.

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){

public String getName(){
return name;
public void setAge(int age){
public int getAge(){
return age;
public void setHeight(double height){
public double getHeight(){
return name;
public void setWeight(double 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:

  1. move().
  2. 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.

Encapsulation in Java


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.

<<Previous <<   || Index ||   >>Next >>