
OOPs Interview Questions
Basic OOPs Interview Questions for Freshers
1. What is the difference between OOP and SOP?
Object-Oriented Programming | Structural Programming |
Object-Oriented Programming is a type of programming which is based on objects rather than just functions and procedures | Provides logical structure to a program where programs are divided functions |
Bottom-up approach | Top-down approach |
Provides data hiding | Does not provide data hiding |
Can solve problems of any complexity | Can solve moderate problems |
Code can be reused thereby reducing redundancy | Does not support code reusability |
2. What is Object Oriented Programming?
Object-Oriented Programming ( OOPs ) is a type of programming that is based on objects rather than fair functions and procedures. individual objects are grouped into classes. OOPs implements real-world entities like inheritance, polymorphism, hide, etc into programming. It besides allows binding data and code together.
3. Why use OOPs?
- OOPs allows clarity in programming thereby allowing simplicity in solving complex problems
- Code can be reused through inheritance thereby reducing redundancy
- Data and code are bound together by encapsulation
- OOPs allows data hiding, therefore, private data is kept confidential
- Problems can be divided into different parts making it simple to solve
- The concept of polymorphism gives flexibility to the program by allowing the entities to have multiple forms
4. What are the main features of OOPs?
- Inheritance
- Encapsulation
- Polymorphism
- Data Abstraction
To know more about OOPs in JAVA, Python, and C++ you can go through the pursuit blogs :
Classes and Objects OOPs Interview Questions and Answers
5. What is an object?
An object is a real-world entity which is the basic whole of OOPs for example electric chair, cat, andiron, etc. unlike objects have unlike states or attributes, and behaviors .
6. What is a class?
A class is a prototype that consists of objects in unlike states and with unlike behaviors. It has a number of methods that are coarse the objects present within that class .
7. What is the difference between a class and a structure?
Class: User-defined blueprint from which objects are created. It consists of methods or determined of instructions that are to be performed on the objects. Structure: A structure is basically a user-defined collection of variables which are of unlike data types .
8. Can you call the base class method without creating an instance?
Yes, you can call the al-qaeda class without instantiating it if :
- It is a static method
- The base class is inherited by some other subclass
9. What is the difference between a class and an object?
Object | Class |
A real-world entity which is an instance of a class | A class is basically a template or a blueprint within which objects can be created |
An object acts like a variable of the class | Binds methods and data together into a single unit |
An object is a physical entity | A class is a logical entity |
Objects take memory space when they are created | A class does not take memory space when created |
Objects can be declared as and when required | Classes are declared just once |
To know more about objects and classes in JAVA, Python, and C++ you can go through the come blogs :
OOPs Interview Questions – Inheritance
10. What is inheritance?
inheritance is a feature of OOPs which allows classes inherit park properties from other classes. For case, if there is a classify such as ‘ vehicle ’, other classes like ‘ car ’, ‘ motorcycle ’, etc can inherit common properties from the vehicle course. This property helps you get rid of excess code thereby reducing the overall size of the code .
11. What are the different types of inheritance?
- Single inheritance
- Multiple inheritance
- Multilevel inheritance
- Hierarchical inheritance
- Hybrid inheritance
12. What is the difference between multiple and multilevel inheritance?
Multiple Inheritance | Multilevel Inheritance |
Multiple inheritance comes into picture when a class inherits more than one base class | Multilevel inheritance means a class inherits from another class which itself is a subclass of some other base class |
Example: A class defining a child inherits from two base classes Mother and Father | Example: A class describing a sports car will inherit from a base class Car which inturn inherits another class Vehicle |
13. What is hybrid inheritance?
hybrid inheritance is a combination of multiple and multi-level inheritance .
14. What is hierarchical inheritance?
hierarchical inheritance refers to inheritance where one floor class has more than one subclasses. For model, the vehicle course can have ‘ car ’, ‘ motorcycle ’, etc as its subclasses .
15. What are the limitations of inheritance?
- Increases the time and effort required to execute a program as it requires jumping back and forth between different classes
- The parent class and the child class get tightly coupled
- Any modifications to the program would require changes both in the parent as well as the child class
- Needs careful implementation else would lead to incorrect results
To know more about inheritance in Java and Python, read the downstairs articles :
16. What is a superclass?
A superclass or base class is a course that acts as a parent to some other class or classes. For example, the Vehicle class is a superclass of class Car .
17. What is a subclass?
A class that inherits from another class is called the subclass. For exemplar, the course Car is a subclass or a derived of Vehicle class. Want to upskill yourself to get ahead in your career ? Check out this television
top 10 Technologies to Learn in 2022| Edureka
OOPs Interview Questions – Polymorphism
18. What is polymorphism? polymorphism refers to the ability to exist in multiple forms. multiple definitions can be given to a single interface. For exemplar, if you have a class named Vehicle, it can have a method named accelerate but you can not define it because different vehicles have different amphetamine. This method will be defined in the subclasses with different definitions for different vehicles .
19. What is static polymorphism?
electrostatic polymorphism ( inactive binding ) is a kind of polymorphism that occurs at compile time. An example of compile-time polymorphism is method overloading .
20. What is dynamic polymorphism?
Runtime polymorphism or dynamic polymorphism ( dynamic binding ) is a type of polymorphism which is resolved during runtime. An example of runtime polymorphism is method overriding .
21. What is method overloading?
Method overload is a feature of OOPs which makes it potential to give the same diagnose to more than one methods within a class if the arguments passed disagree .
22. What is method overriding?
Method overriding is a feature of speech of OOPs by which the child course or the subclass can redefine methods present in the basal class or parent class. hera, the method acting that is overridden has the same appoint adenine well as the key signature meaning the arguments passed and the recurrence type .
23. What is operator overloading?
operator overloading refers to implementing operators using user-defined types based on the arguments passed along with it .
24. Differentiate between overloading and overriding.
Overloading | Overriding |
Two or more methods having the same name but different parameters or signature | Child class redefining methods present in the base class with the same parameters/ signature |
Resolved during compile-time | Resolved during runtime |
To know more about polymorphism in Java and Python, read the downstairs articles :
- Polymorphism in Java
- Polymorphism in Python
OOPs Interview Questions – Encapsulation
25. What is encapsulation?
encapsulation refers to binding the datum and the code that works on that together in a individual unit of measurement. For model, a class. Encapsulation besides allows data-hiding as the data specified in one course is hidden from other classes .
26. What are ‘access specifiers’?
access specifiers or access modifiers are keywords that determine the handiness of methods, classes, etc in OOPs. These access specifiers allow the implementation of encapsulation. The most coarse access specifiers are public, private and protected. however, there are a few more which are particular to the program languages .
27. What is the difference between public, private and protected access modifiers?
Name | Accessibility from own class | Accessibility from derived class | Accessibility from world |
public | Yes | Yes | Yes |
individual | Yes | No | No |
Protected | Yes | Yes | No |
To know more about encapsulation read along :
- Encapsulation in Java
- Encapsulation in C++
- Encapsulation in Python
Data abstraction
28. What is data abstraction?
Data abstraction is a identical significant feature of OOPs that allows displaying alone the significant data and hiding the implementation details. For example, while riding a bicycle, you know that if you raise the catalyst, the focal ratio will increase, but you don ’ deoxythymidine monophosphate know how it actually happens. This is datum abstraction as the implementation details are hidden from the rider .
29. How to achieve data abstraction?
Data abstraction can be achieved through :
- Abstract class
- Abstract method
30. What is an abstract class?
An outline class is a classify that consists of outline methods. These methods are basically declared but not defined. If these methods are to be used in some subclass, they need to be entirely defined in the subclass .
31. Can you create an instance of an abstract class?
No. Instances of an abstraction class can not be created because it does not have a complete implementation. however, instances of subclass inheriting the outline class can be created .
32. What is an interface?
It is a concept of OOPs that allows you to declare methods without defining them. Interfaces, unlike classes, are not blueprints because they do not contain detail instructions or actions to be performed. Any class that implements an interface defines the methods of the interface .
33. Differentiate between data abstraction and encapsulation.
Data abstraction | Encapsulation |
Solves the problem at the design level | Solves the problem at the implementation level |
Allows showing important aspects while hiding implementation details | Binds code and data together into a single unit and hides it from the world |
To know more about data abstraction, below articles might help you :
- Abstraction in Java
- Abstraction in Python
Methods and Functions OOPs interview questions
34. What are virtual functions?
virtual functions are functions that are deliver in the parent class and are overridden by the subclass. These functions are used to achieve runtime polymorphism .
35. What are pure virtual functions?
Pure virtual functions or abstract functions are functions that are alone declared in the base class. This means that they do not contain any definition in the base class and need to be redefined in the subclass .
36. What is a constructor?
A builder is a special type of method acting that has the same name as the course and is used to initialize objects of that class .
37. What is a destructor?
A destructor is a method acting that is mechanically invoked when an object is destroyed. The destructor besides recovers the heap quad that was allocated to the destroyed object, closes the files and database connections of the object, etc .
38. Types of constructors
Types of constructors differ from speech to language. however, all the possible constructors are :
- Default constructor
- Parameterized constructor
- Copy constructor
- Static constructor
- Private constructor
39. What is a copy constructor?
A transcript builder creates objects by copying variables from another object of the like class. The main bearing of a replicate builder is to create a new object from an existing one .
40. What is the use of ‘finalize’?
Finalize as an object method used to free up unmanaged resources and cleaning before Garbage Collection ( GC ). It performs memory management tasks .
41. What is Garbage Collection(GC)?
GC is an execution of automatic memory management. The Garbage collector frees up space occupied by objects that are no longer in being .
42. Differentiate between a class and a method.
Class | Method |
A class is basically a template that binds the code and data together into a single unit. Classes consist of methods, variables, etc | Callable set of instructions also called a procedure or function that are to be performed on the given data |
43. Differentiate between an abstract class and an interface?
Basis for comparison | Abstract Class | Interface |
Methods | Can have abstract as well as other methods | Only abstract methods |
final Variables | May contain final and non-final variables | Variables declared are final by default |
handiness of Data Members | Can be private, public, etc | Public by default |
implementation | Can provide the implementation of an interface | Cannot provide the implementation of an abstract class |
44. What is a final variable?
A variable whose measure does not change. It constantly refers to the lapp aim by the property of non-transversity .
OOPs Interview Questions – Exception Handling
45. What is an exception?
An exception is a kind of presentment that interrupts the normal murder of a program. Exceptions provide a pattern to the erroneousness and transfer the error to the exception handler to resolve it. The express of the plan is saved adenine soon as an exception is raised .
46. What is exception handling?
exception handling in Object-Oriented Programming is a very important concept that is used to manage errors. An exception coach allows errors to be thrown and caught and implements a centralize mechanism to resolve them .
47. What is the difference between an error and an exception?
Error | Exception |
Errors are problems that should not be encountered by applications | Conditions that an application might try to catch |
48. What is a try/ catch block?
A try/ catch engine block is used to handle exceptions. The attempt obstruct defines a arrange of statements that may lead to an error. The catch block basically catches the exception .
49. What is a finally block?
A ultimately block consists of code that is used to execute authoritative code such as closing a connection, etc. This forget executes when the hear blockage exits. It besides makes certain that ultimately block executes even in case some unexpected exception is encountered.
Read more: Top 7 the who interview questions in 2022
OOPs Interview Questions – Limitations of OOPs
50. What are the limitations of OOPs?
- Usually not suitable for small problems
- Requires intensive testing
- Takes more time to solve the problem
- Requires proper planning
- The programmer should think of solving a problem in terms of objects
hope you are clear with all that has been shared with you in this tutorial. This brings us to the end of our article on OOPs Interview Questions. Make sure you practice as much as possible and revert your experience. To get in-depth cognition on this concept, you can check out the populate Python Online training and Java Certification Training with 24/7 support and life access. Got a question for us ? Please mention it in the comments section of this “ OOPS Interview Questions ” blog and we will get back to you deoxyadenosine monophosphate soon as possible .