- procedural programming breaks down a programming task into a collection of variables, data structures, and subroutines
- object-oriented programming breaks down a programming task into objects that expose behavior (methods) and data (members or attributes) using interfaces
The most important distinction:
- procedural programming uses procedures to operate on data structures
- object-oriented programming bundles the two together, so an “object”, which is an instance of a class, operates on its “own” data structure