The difference between the two is subtle but significant.
In a procedural program, modules interact by reading and writing state that is stored in shared data structures.
In an object oriented program, modules in the form of objects interact by sending messages to other objects.