OOP stands for object-oriented programming, a relatively recent development in programming technology. In traditional computer programs, the procedures (the programming commands) that get things done are separated from the data they work on. By contrast, object -oriented programs are put together from building blocks called objects; each of these self-contained software modules includes all the commands and data needed to do a given set of tasks when it receives the right "messages." Because it is "encapsulated" in this way, an object can be reused as a unit in as many programs as needed. By design, OOP makes it easy to generate new objects that automatically "inherit" the capabilities of existing objects. The programmer can then modify a function or two or add some new ones, but she doesn't have to start from scratch.
All this sounds great on paper, but designing the objects in the first place turns out to be a big job. OOP is best suited for large-scale programming projects that are likely to need modification and expansion over time.
The most widely used object-oriented languages are C++ (a modified version of C) and SmallTalk. Various software packages let ordinary people partake in some of the benefits of object-oriented programming. In HyperCard, for example, it's easy to copy a button you've programmed from one card to another, carrying all its programming with it. You can then customize the programming in the copied button, without having to rewrite all the programming. But HyperTalk, the language that comes with HyperCard, isn't really an object-oriented language in the way that C++ and SmallTalk are.