Object-oriented design (OOD) combines data and its methods. This, as far as I can see, achieves two great things: it provides encapsulation (so I don\'t care what data there is,
The real power of OO lies in polymorphism rather than encapsulation. Encapsulation, to certain extent, is achievable and is used in functional languages, but polymorphism would be very awkward if implemented in functional language.
(Read "design pattern" by gang of four to understand the power of OO.)
@Phil, The difference you mentioned, if I understand you correctly, is between the way the program invokes data/method: in oo, there first is an object/instance, and then the data/method of the object is invoked through the object; in functional, method is directly invoked.
However, looking at the implementation of a functional program, we see that the data and the method are wrapped (in a file but not in a class). For example, a C program has the header file that declares the functions accessible by other file, and the data is a private data if is only accessible through these declared functions. As long as a programmer is careful enough, most of the encapsulation in OO can be implemented in functional programs. (Even inheritance is available by using certain pointer tricks.)