Инкапсуляция - обеспечение контролируемого доступа к внутренним данным или предотвращение прямого доступа к членам.
Абстракция - скрытие деталей реализации определенных методов называется абстракцией
Давайте разберемся с помощью примера: -
class Rectangle
{
private int length;
private int breadth;// see the word private that means they cant be accesed from
outside world.
//now to make them accessed indirectly define getters and setters methods
void setLength(int length)
{
// we are adding this condition to prevent users to make any irrelevent changes
that is why we have made length private so that they should be set according to
certain restrictions
if(length!=0)
{
this.length=length
}
void getLength()
{
return length;
}
// same do for breadth
}
теперь для абстракции определите метод, к которому можно получить доступ только, если пользователь не знает
что такое тело метода и как оно работает
Давайте рассмотрим приведенный выше пример, мы можем определить область метода, которая вычисляет площадь прямоугольника.
public int area()
{
return length*breadth;
}
Теперь, когда пользователь использует вышеуказанный метод, он просто получает площадь, а не способ, которым она рассчитывается. Мы можем рассмотреть пример метода println (), мы просто знаем, что он используется для печати, и мы не знаем, как он печатает данные.
Я написал блог подробно, вы можете увидеть ссылку ниже для получения дополнительной информации
абстракция против инкапсуляции