Data Encapsulation is a process of wrapping up the datamembers into a single unit. Which means binding of the datamembers and corresponding methods into a single unit.
Data Hiding is hiding internal data from outside users. The internal data should not go directly that is outside person/classes is not able to access internal data directly. It is achieved by using an access specifier- a private modifier.
Abstraction is a process of hiding internal implementation, which can achived with the help of abstract classes and interfaces
Example of Encapsulation
package com.example.domian;
public class Customer {
private long accountNumber;
private String accountHolderName;
private double balance;
private int age;
private String address;
public long getAccountNumber() {
return accountNumber;
}
public void setAccountNumber(long accountNumber) {
this.accountNumber = accountNumber;
}
public String getAccountHolderName() {
return accountHolderName;
}
public void setAccountHolderName(String accountHolderName) {
this.accountHolderName = accountHolderName;
}
public double getBalance() {
return balance;
}
public void setBalance(double balance) {
this.balance = balance;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
Advantages
Dis-Advantage