1. Which of the following can cause an infinite recursion?
A. A constructor calling a parent constructor
B. A method calling itself without a base case
C. A class using multiple inheritance
D. A method overloading with the same name
Answer: B) A method calling itself without a base case
Rationale: Infinite recursion occurs when a method keeps calling itself without an
appropriate exit condition or base case.
2. Which of the following is an example of method overriding in OOP?
A. Defining a method with the same name but different parameters in the same
class
B. Redefining a parent class method in a child class
C. Defining a method that returns a different type than the parent class method
D. Defining a method that does not return anything
Answer: B) Redefining a parent class method in a child class
,Rationale: Method overriding occurs when a subclass provides a specific
implementation for a method already defined in its superclass.
3. Which of the following OOP principles is used when a child class reuses
methods from a parent class?
A. Abstraction
B. Encapsulation
C. Inheritance
D. Polymorphism
Answer: C) Inheritance
Rationale: Inheritance allows a subclass to inherit methods and properties from a
superclass.
4. What is the term for the ability of different classes to provide different
implementations of the same method?
A. Inheritance
B. Polymorphism
C. Encapsulation
, D. Abstraction
Answer: B) Polymorphism
Rationale: Polymorphism allows different classes to provide their own
implementation of methods that share the same signature.
5. Which of the following is an example of method overloading?
A. A method with the same name but different parameters
B. A method that changes its behavior based on the object type
C. A method that calls another method
D. A method that throws an exception
Answer: A) A method with the same name but different parameters
Rationale: Method overloading occurs when multiple methods with the same name
exist but with different parameter lists.
6. In OOP, what is an object?
A. A template for defining variables
B. A collection of data and functions
C. An instance of a class
A. A constructor calling a parent constructor
B. A method calling itself without a base case
C. A class using multiple inheritance
D. A method overloading with the same name
Answer: B) A method calling itself without a base case
Rationale: Infinite recursion occurs when a method keeps calling itself without an
appropriate exit condition or base case.
2. Which of the following is an example of method overriding in OOP?
A. Defining a method with the same name but different parameters in the same
class
B. Redefining a parent class method in a child class
C. Defining a method that returns a different type than the parent class method
D. Defining a method that does not return anything
Answer: B) Redefining a parent class method in a child class
,Rationale: Method overriding occurs when a subclass provides a specific
implementation for a method already defined in its superclass.
3. Which of the following OOP principles is used when a child class reuses
methods from a parent class?
A. Abstraction
B. Encapsulation
C. Inheritance
D. Polymorphism
Answer: C) Inheritance
Rationale: Inheritance allows a subclass to inherit methods and properties from a
superclass.
4. What is the term for the ability of different classes to provide different
implementations of the same method?
A. Inheritance
B. Polymorphism
C. Encapsulation
, D. Abstraction
Answer: B) Polymorphism
Rationale: Polymorphism allows different classes to provide their own
implementation of methods that share the same signature.
5. Which of the following is an example of method overloading?
A. A method with the same name but different parameters
B. A method that changes its behavior based on the object type
C. A method that calls another method
D. A method that throws an exception
Answer: A) A method with the same name but different parameters
Rationale: Method overloading occurs when multiple methods with the same name
exist but with different parameter lists.
6. In OOP, what is an object?
A. A template for defining variables
B. A collection of data and functions
C. An instance of a class