Encapsulation is more useful fundamental OOP concepts. The other three are inheritance, polymorphism, and abstraction.

Encapsulation in Java is data variables and methods together as a single unit. In encapsulation, the variables of a class will be hidden from other classes, and can be accessed only through the methods of their current class. Therefore, it is also known as data hiding.
  • Declare the variables of a class as private.
  • Provide public setter and getter methods to modify and view the variables values.

/* File name : EncapTest.java */
public class EncapTest {
   private String name;
   private String idNum;
   private int age;

   public int getAge() {
      return age;

   public String getName() {
      return name;

   public String getIdNum() {
      return idNum;

   public void setAge( int newAge) {
      age = newAge;

   public void setName(String newName) {
      name = newName;

   public void setIdNum( String newId) {
      idNum = newId;

The public setXXX() and getXXX() methods are the access points of the instance variables of the EncapTest class
/* File name : RunEncap.java */
public class RunEncap {

   public static void main(String args[]) {
      EncapTest encap = new EncapTest();

      System.out.print("Name : " + encap.getName() + " Age : " + encap.getAge());
Output Name : James Age : 20