1. 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.
2. What is the main difference between an abstract class and an interface?
A. Abstract classes can have methods with implementations, while interfaces
cannot
B. Abstract classes are used for single inheritance, while interfaces allow multiple
inheritance
C. Interfaces can have only static methods, while abstract classes can have instance
methods
,D. There is no difference
Answer: A) Abstract classes can have methods with implementations, while
interfaces cannot
Rationale: Abstract classes can have both abstract (unimplemented) and concrete
(implemented) methods, while interfaces can only declare abstract methods (prior
to Java 8).
3. 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
D. A method that manipulates data
Answer: C) An instance of a class
Rationale: An object is an instance of a class, containing data and methods defined
by the class.
4. Which of the following is a feature of object-oriented programming?
A. Data is hidden
, B. Data is manipulated directly
C. Functions are not used
D. Programs are written in a procedural way
Answer: A) Data is hidden
Rationale: One of the key features of OOP is data encapsulation, which means data
is hidden from outside access and can only be accessed through public methods.
5. Which of the following is a valid reason to use object-oriented programming
over procedural programming?
A. It is more efficient in terms of execution time
B. It provides better tools for abstraction and code reuse
C. It requires less memory to store data
D. It simplifies basic programming concepts
Answer: B) It provides better tools for abstraction and code reuse
Rationale: OOP allows for better abstraction, modularity, and code reuse through
inheritance, polymorphism, and encapsulation.
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.
2. What is the main difference between an abstract class and an interface?
A. Abstract classes can have methods with implementations, while interfaces
cannot
B. Abstract classes are used for single inheritance, while interfaces allow multiple
inheritance
C. Interfaces can have only static methods, while abstract classes can have instance
methods
,D. There is no difference
Answer: A) Abstract classes can have methods with implementations, while
interfaces cannot
Rationale: Abstract classes can have both abstract (unimplemented) and concrete
(implemented) methods, while interfaces can only declare abstract methods (prior
to Java 8).
3. 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
D. A method that manipulates data
Answer: C) An instance of a class
Rationale: An object is an instance of a class, containing data and methods defined
by the class.
4. Which of the following is a feature of object-oriented programming?
A. Data is hidden
, B. Data is manipulated directly
C. Functions are not used
D. Programs are written in a procedural way
Answer: A) Data is hidden
Rationale: One of the key features of OOP is data encapsulation, which means data
is hidden from outside access and can only be accessed through public methods.
5. Which of the following is a valid reason to use object-oriented programming
over procedural programming?
A. It is more efficient in terms of execution time
B. It provides better tools for abstraction and code reuse
C. It requires less memory to store data
D. It simplifies basic programming concepts
Answer: B) It provides better tools for abstraction and code reuse
Rationale: OOP allows for better abstraction, modularity, and code reuse through
inheritance, polymorphism, and encapsulation.