ООП (Объектно-ориентированное программирование) – это способ построения программных продуктов. Такие программные продукты состоят из объектов и вся работа такого программного продукта построена на взаимодействии этих объектов.
Что же такое объект в таком программном продукте?
Да, в общем-то, всё что угодно.
Например, какой-либо элемент интерфейса – скажем, панель с кнопками – может быть обьектом.
Или если, например, программный продукт как-то связан с котами (например, программа для поиска подходящей породы кошки), то в ней точно будет объект кота.
И таких разных объектов в продукте может быть очень много и все они будут тем или иным образом взаимодействовать друг с другом.
То есть, как уже можно было догадаться, объект – это программная модель какой-либо сущности реального мира.
Сущность на основе которой строиться модель может иметь какие-либо характеристики и может проявлять какое-либо поведение. Соответственно модель тоже должна содержать эти характеристики и уметь проявлять поведение этой сущности.
Характеристики в объекте правильно называть свойствами, а какое-либо поведение объект проявляет с помощью методов(функций) в нем.
Например, есть сущность реального мира кот. Кот имеет характеристики – имя кота, цвет кота и т.д.
Кот может проявлять какое-либо поведение – например сказать Мяу.
Если представить кота, как его модель в виде объекта, то свойствами этого объекта будут, например, кот по имени Барсик серого цвета, и он будет говорить мяу с помощью метода в нем.
Как видим, объект кота уже имеет конкретное имя Барсик и имеет конкретный цвет серый. То есть объект – это уже конкретный кот, а не просто кот в общем.
А вот кот в общем – это КЛАСС.
Кот в общем – это шаблон
по которому был создан объект кота.
То есть класс задает, что у кота должно быть имя и цвет (это называется ПОЛЯМИ
класса) и он должен уметь говорить мяу (в классе описывается то, как он должен говорить мяу).
А уже по этому шаблону создается объект кота с конкретным именем, цветом и он уже, собственно, говорит мяу, как ему было задано говорить мяу в классе кота.
Класс кота и объект этого класса на примере.
Ниже приведен класс кота и создание его объекта с подробным пояснением.
Вывод:

Table of Contents
Конструктор класса
Узнайте, как работают конструкторы в Java: создание объектов, инициализация полей. Примеры кода для понимания принципов ООП.
Инкапсуляция
Инкапсуляция в Java: один из трёх столпов ООП. Узнайте, как сокрытие деталей реализации класса защищает данные и упрощает работу с объектами. Примеры
Модификаторы доступа
Public и private в Java: как ограничивать доступ к полям и методам. Основы инкапсуляции и безопасность данных в ООП.