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,
Your question reads like You want to derive the benefits of a house by analyzing a brick.
Having the ability to provide semantic context and encapsulation are just the basic capabilities of a class in OO. (Like a brick can withstand a certain force and claim a certain space.)
To continue the analogy: To get the maximum out of bricks, just put them together. The very same applies to classes and objects.
There are a lot of design patterns that can be used for OO programming. Most of them rely on the abilities "encapsulation" and "semantic", that You mentioned.
Some of those patterns are even an answer to the third paragraph of Your question: