Object-oriented programming is ultimately about taking a huge problem and breaking it down to solvable chunks . For each mini-problem, you write a class that does what you require. And then — best of all — you can reuse those classes, which makes it even quicker to solve the next problem.