Not quite correct:
With Object Oriented Programming, the data has bound functions (known as "methods") that process the data they are bound to. So you no longer pass data back and forth between functions, you just call the functions that are bound to data (albeit you still may pass parameters as extra information for these functions to perform more specific tasks).
You might call this "Data Oriented Programming", but in OOP, the data that has bound functions is known as Object, so it is called "Object Oriented Programming".
The above is true for all object programming. Unfortumately, there are two kinds of object programming: a) object-based and b) object-oriented.
In object-based programs, objects are created and their methods are executed as needed. That is, you create the object and you tell the object what to do.
In object-oriented programs, objects are described within a hierarchy where the top level is a general object and each suceeding level contains specific kinds of that general object. What you do here is create a specific object but use it as the general object when you make a function call. The function believes it has a general object but when the object is asked to excute a method, it is the method in the specific object that executes. In this manner, the same line of code referencing a general object can do many things based on the particular specific object in use at the time.
This substitution of a specific object for a general object is called polymorphism. Using polymorphism is commonly called object-oriented programming.