Yeah, I agree with you, and actually like OOP where it's appropriate.

Unfortunately there were so many bad examples from the old Java "every thing needs a dozen factories and thousands of interfaces" days that most people haven't seen the cases where it works well.