Java Oops Fundamentals
Introduction to OOPs Programming
OOPs vs Traditional Programming Styles
Basic Concepts of OOPs
Garbage Collection In JVM
Constructor and Its Types
Encapsulation In OOPs
Inheritance in OOPs
Polymorphism in OOPs
Abstraction In OOPS
Author Profile Altaf Shaikh
Altaf Shaikh

BE Engg | Python Dev | Content Writer | Founder of TeachMeBro | Blockchain Dev | Django

Encapsulation In OOPs

October 15th 2020

Encapsulation In OOPs
Encapsulation In OOPs


Encapsulation in Java is a process of wrapping code and data together into a single unit.  The best way to understand encapsulation is to look at the example of a medical capsule, where the drug is always safe inside the capsule. Similarly, through encapsulation the methods and variables of a class are well hidden and safe.



We can achieve encapsulation in Java by:

  • Declaring the variables of a class as private.
  • Providing public setter and getter methods to modify and view the variables values.

Often encapsulation is misunderstood with Abstraction.

  • Encapsulation is more about "How" to achieve a functionality.
  • Abstraction is more about "What" a class can do.

A simple example to understand this difference is a mobile phone. Where the complex logic in the circuit board is encapsulated in a touch screen, and the interface is provided to abstract it out.

Simple Java program to demonstrate encapsulation:

Java program to demonstrate encapsulation

Advantages of Encapsulation:

  • The user will have no idea about the inner implementation of the class.
  • We can make the variables of the class as read-only or write-only depending on our requirement.
  • Encapsulation also improves re-usability and is easy to change with new requirements.
  • Encapsulated code is easy to test for unit testing.