This is a simplified answer.
In a true OO language, the only procedural coding is done inside of an object.
C has no objects and C++ is a language that supports objects. Java on the other hand everything is an object(except the primitives). Everything is typed.
- Linear progression happens inside of the objects but the objects themselves are just collections of code and data.