Encapsulation is an important concept of Object-oriented programming. Encapsulation is the concept of wrapping up data(variable) under a single unit. It binds data members and member functions inside a class together.
Encapsulation prevents accessing the implementation details, it makes sure that the ‘sensitive’ data are hidden from the user which leads to the important concept called data hiding. Abstraction and Encapsulation are quite related features, encapsulation helps us to achieve the desired level of abstraction.
Access specifiers are used to achieve encapsulation. We can do so by declaring all the variables in a class
private. But in order to modify or read those data or variables, we need to use the getter and setter (i.e. get and set) method. It prevents from accessing the data directly.
Let us go through an example in C# to understand the concept of hiding data.
Example: C# program for hiding data using the private specifier
There is a separate class for the student whose data members are private so get and set methods are implemented for each private variable in order to access it from the main function of the program.
public class Student
// private variables
private String name;
private int roll;
// using setter and getter for name
public String stdName
name = value;
// using setter and getter for roll
public int stdRoll
roll = value;
static public void Main()
// creating object
Student obj = new Student();
//setting the values
obj.stdName = "John Mac";
obj.stdRoll = 15;
// Getting the values
Console.WriteLine("Student Name: " + obj.stdName);
Console.WriteLine("Studen Roll: " + obj.stdRoll);
Student Name: John Mac
Studen Roll: 15
Advantages of Encapsulation:
- Data- hiding and Reusability.
- The class field can be made read-only or write-only.
- It provides the class the total control over the data.