My impression is that most colleges teach OOP very badly, and as a result you're not going to be prepared when you go out and get your first job. Rote memorization of the differences between interfaces and classes means precisely nothing -- knowing how, and when, to use one or the other matters a lot.
I don't know about you, but I got my education from some of the smaller universities in my area, and I was very unhappy with them. I can't tell you how many programming courses I took which were repititions of the same old ineffective teaching style: syntax-oriented learning. Programming courses are designed around teaching syntax, as if knowing how to declare an array and a class suddenly endows students the knowledge of how to use those structures effectively.
From my point of view, OOP is not overemphasized in schools, because -- in all likelihood -- your first programming job will require you to learn and use an OO language. The set of languages { C#, Java, Python, Ruby, Perl, C++, VB.NET, PHP } represent 99% of all software development you're likely to encounter in your first few years as a developer, and all of these languages are OO or support OO features. OO is in demand, and will continue to be in demand for years to come, so colleges will teach it at the exclusion of other programming paradigms (or at least until you get into your 600 level classes, then maybe you'll get a dose of Lisp and OCaml too).
With that being said, I've noticed from having worked in a few small software shops producing line-of-business applications that OOP is really underutilized. I actually find that most software is written using the front-ahead design methodology. Most business logic ends up in the UI, and the MVC pattern just isn't very prevalent. You don't really use the full range of OOP design patterns that you're forced to memorize in college. (At least that was my experience, but as always, your mileage may vary.)
So, we have two major reasons why OOP feels overempasized in college: 1) instructors teach it in a long, drawn out, and ineffective style. 2) OOP is actually used ineffectively by a large number of software shops. There's not much you can do about these problems, except complain to your instructors that you're not learning anything, and insist on writing correct, modularized code when you finally get your first job.