Java использует Объектно-Ориентированное Программирование (ООП), стиль программирования, который предназначен, чтобы сделать мышление о программировании ближе к мышлению о реальном мире. В ООП, каждый объект является независимой единицей с уникальным идентификатором, также, как и объекты в реальном мире. Яблоко является объектом; также и кружка. Каждый имеет свой уникальный идентификатор. Может быть две кружки, которые будут очень похожи друг на друга, но они все равно разные, уникальные объекты. Объекты также имеют характеристики, которые используются для их описания. Например, машина может быть красной или синей, кружка может быть полной или пустой, и так далее. Эти характеристики также называются атрибутами. Атрибут описывает текущее состояние объекта. В реальном мире каждый объект ведет себя по-своему. Машина движется, телефон звонит и так далее. То же самое касается и объектов: поведение специфично объекту типу объекта. В общем, в объектно-ориентированном программировании, каж