1. What is Object-Oriented Programming (OOP)?
2. Define the term "class" in OOP.
3. What is an "object" in the context of OOP?
4. Explain the concept of "encapsulation" in OOP.
5. What is the purpose of a constructor in a class?
6. What is the difference between a class and an object?
7. Define "inheritance" in OOP.
8. What is the difference between single inheritance and multiple inheritance?
9. Explain the term "polymorphism."
10. What is method overloading in OOP?
11. What is method overriding in OOP?
12. Define the concept of "abstraction."
13. What are access modifiers in OOP?
14. How does encapsulation enhance data security?
15. What is the role of a destructor in a class?
16. Explain the concept of an abstract class.
17. What is an interface in OOP?
18. How does an interface differ from an abstract class?
19. What is the significance of the "this" keyword in OOP?
20. Define "static" members in a class.
21. What is the purpose of getter and setter methods?
22. Explain the concept of "composition" in OOP.
23. How does composition differ from inheritance?
24. What is a "mixin" in OOP?
25. Describe the role of polymorphism in OOP.
26. What is the principle of "least privilege" in OOP?
27. Define "message passing" in OOP.
28. Explain the concept of "object lifetime."
29. What is a "base class" and a "derived class"?
30. How does OOP facilitate code reusability?
31. What is a "virtual function" in OOP?
32. Explain the difference between compile-time and runtime polymorphism.
33. What is a "namespace" in OOP?
34. How are objects created in OOP?
35. What is a "singleton" class?
36. Describe the use of "final" classes in OOP.
37. What is the purpose of interfaces in OOP?
38. Explain the concept of "tight coupling" and "loose coupling."
39. What are design patterns in OOP?
40. Describe the "Observer" design pattern.