Java — объектно-ориентированнный язык программирования. Что это означает? Что вообще такое объектно-ориентированное програмиирование (ООП)? Зачем оно нужно?

С этими вопросами мы постараемся разобраться подробно.

Все языки объектно-ориентированного программирования предоставляют механизмы, которые  облегчают реализацию объектно-ориентированной модели. Этими механизмами являются инкапсуляция, наследование, полиморфизм. Рассмотрим эти концепции.

Инкапсуляция

Основой инкапсуляции в Java является класс. Класс определяет данные и программный код некоторого набора объектов. Объект является экземпляром класса. Таким образом, класс — это логическая конструкция, а объект – физическая реальность. По сути, класс является шаблоном объекта, в классе описывается структура объекта, а когда объект создается, то он создается согласно данным описанным в классе, подобно тому как создается деталь на заводе согласно ее чертежу. При составлении класса код и данные необходимо специфицировать. Все эти элементы называют членами класса. Члены-переменные или переменные экземпляра или поля являются данными. Члены методы или просто методы – код, оперирующий этими данными.

Цель класса – инкапсуляция сложности. Для этого у методов и переменных внутри класса могут быть модификаторы доступа (public, private).

Инкапсуляция означает, что данные объекта недоступны его клиентам непосредственно. Вместо этого они инкапсулируются — скрываются от прямого доступа извне. Инкапсуляция предохраняет данные объекта от нежелательного доступа, позволяя объекту самому управлять доступом к своим данным.

Статья не окончена и будет дописана.

Продолжение: Шаг 6. Лексические элементы языка Java
Начало: Шаг 4. Пример работы с классами и объектами