I'm designing a new short course, and as I always do, I am starting with the biggest picture. (Note to self: LET IT GO.) So I'm compiling a list of the important topics that should be covered. I sent out a note to a couple of teachers and am considering forwarding it to the AP list.
The question I asked is, "what are the most important concepts in Object Oriented Programming?" I decided to limit myself to OOP instead of generally "programming" or "computer science" because I know I'll be using an OOP language. I am interested in the answer under any circumstance, though.
So... if it were up to you, what do you think the most important concepts of OOP are?