Common questions students may ask when they learn OOP?
I read through most voted questions tagged object oriented on softwareengineering.stackexchange.com and stackoverflow.com. I feel some questions on  softwareengineering site are quite common when learning OOP while questions on stackoverflow are more related to practical programming questions that are more likely asked by professionals.
So I listed some questions from softwareengineering site,

Why is it good to split a program into multiple classes?. This question was indeed asked by a high school student.
Do objects in OOP have to represent an entity?. My students do ask me this question.
What's the benefit of object-oriented programming over procedural programming? this one is somewhat related to the &quot;manage software complexity&quot; question in my question and I do discuss with my colleagues another interesting question that was asked on quora How does Linux maintain such a large code base when C isn't an object oriented language? Is the code base all messed up?
Does OOP fulfill the promise of code reuse? What alternatives are there to achieve code reuse? I am not sure if students will ask this question and I have my own double to the question too.
When writing object-oriented code, should I always be following a design pattern?. This site also has a question about design pattern, How bad is a Computer Science course that doesn&#39;t teach Design Patterns?
Explanation on how “Tell, Don't Ask” is considered good OO. Only after they gain some coding experiences can they ask/appreciate the question. But it is a good one.
Should I create a class if my function is complex and has a lot of variables? One answer there was also my recommendation to my students when they have such question, &quot;Use a class, but also provide a free standing function, that only constructs the object, calls the method and returns the result, the class that you use internally really becomes just an implementation detail of your public function&quot;

Quora also has some interesting questions I feel people will ask when they first learn OOP, I list some here:

Can anyone (in a programmer's position) survive in the modern tech industry (software or no software) without OOP?
How often do software developers use OOP?. One answer there by Kurt Guntheroth is interesting &quot;Any time you write a program longer than about 1,000 lines, you should use OOP. 1000 lines? Why’s that ...?&quot;
When is object-oriented programming not a good fit?

Hopefully I can get some other answers.