OOP

a programming paradigm based on the concept of objects, which can contain data and code: data in the form of fields (often known as attributes or properties), and code in the form of procedures (often known as methods).

Why

How

What

In OOP, computer programs are designed by making them out of objects that interact with one another.

Abstraction(抽象), encapsulation(封装), polymorphism(多态), and inheritance(继承) are the four main theoretical principles of object-oriented programming. But Java also works with three further OOP concepts: association(关联), aggregation(聚合), and composition(组合).