1. What does the static modifier indicate? Explain the difference between a static variable and a non-static variable.
2. What is the point of a constructor?
3. What is the difference between a class and an object?
4. What does method overloading mean? Give an example.
5. What does method overriding mean? Give an example.
6. Explain the concept of encapsulation.
7. Explain the concept of inheritance.
8. Explain the concept of polymorphism.
9. How can you determine what types a class can be typecast to?
10. If you have two classes, Mammal and Dog, which one should be the superclass?
11. Explain the difference between private, protected, and public variables/methods.
12. How does Java search for a method when it is called by a class?
13. What is the role of an interface in OOP? What is an advantage of using interfaces in your class design?
14. What does it mean for a class to be abstract? What does it mean for a class to be concrete?
15. What is a GUI?
16. Why is it important to maintain a separation between the model, view, and controller?
17. What is the role of an event handler within the MVC paradigm?