Object Oriented is a buzz word that has many definitions and no standard meaning. Most object oriented programmers understand what it means to write Object Oriented code even if their definitions vary. I will provide my definition as a reference point that is valid within this website.
Object Oriented programming is a methodology that takes a view of code that is different from procedural programming. In procedural programming, the programmer focuses on the flow of control, which statement is executing and what statement is next. In other words, the program runs from beginning to end in a linear fashion where one function calls another and when the secondary function completes its task, it returns control back to the first function.
In Object Oriented programming, instead of thinking in terms of flow of control, the programmer focuses on objects. Objects have state, hidden data, and objects have a contracted behavior, methods. An object oriented program starts with the creation of the first object which executes code that creates other objects and these objects interact with each other. In Java, it is the primary class that contains a static method called main(). In C++, it is a global function called main(), not quite in the pure object oriented spirit.