I'll add my two cents. Most of the examples in beginner books are pretty simple and therefore the benefits of OOP are not immediately apparent. The first thing to note, though, is that if you want to re-use that function in another project, you would have to rewrite it in that project. Maybe that's not a big deal for a five-line function. What if your function is 1000 lines? You could still copy and paste. What if that function was written by a different developer and you didn't have the source code? With classes, you can plug them into any project you like without knowing anything about their inner workings. If you have the details of the inteface you can use them anywhere. Then there are all the benefits that kulrom listed. Believe me, for even simple projects OOP offers great benefits. All the built-in .NET objects are classes, so you're already saved months of work by their existence. If OOP doesn't save you time then you aren't doing it properly. One of the most important things is to plan properly so that you implement your objects correctly.