I would put http://en.wikipedia.org/wiki/Liskov_substitution_principle at the top of the list of things to understand. Language features like polymorphism and encapsulation aren't exclusively OO but they're provided because they help your designs follow LSP.
Comments
In situations like those, I feel like OOP is some of the most buzzword laden areas of CS.
Things like "Cohesion", "Layering", "Polymorphism", "Abstraction", etc.
They are all great concepts with a lot of important principles, but I drives me nuts how often I've heard them used excessively.
I would put http://en.wikipedia.org/wiki/Liskov_substitution_principle at the top of the list of things to understand. Language features like polymorphism and encapsulation aren't exclusively OO but they're provided because they help your designs follow LSP.