• +91 9971497814
  • info@interviewmaterial.com

OOP Interview Questions Answers

Question 1 : Can a method be overloaded based on different return type but same argument type ?

Answer 1 : No, because the methods can be called without using their return type in which case there is ambiguity for the compiler.

Question 2 : Differentiate Aggregation and containment?

Answer 2 : Aggregation is the relationship between the whole and a part. We can add/subtract some properties in the part (slave) side. It won’t affect the whole part. Best example is Car, which contains the wheels and some extra parts. Even though the parts are not there we can call it as car. But, in the case of containment the whole part is affected when the part within that got affected. The human body is an apt example for this relationship. When the whole body dies the parts (heart etc) are died.

Question 3 : Differentiate between a template class and class template.

Answer 3 : Template class: A generic definition or a parameterized class not instantiated until the client provides the needed information. It’s jargon for plain templates. Class template: A class template specifies how individual classes can be constructed much like the way a class specifies how individual objects can be constructed. It’s jargon for plain classes.

Question 4 : Differentiate between the message and method.

Answer 4 : Message * Objects communicate by sending messages to each other. * A message is sent to invoke a method. Method * Provides response to a message. * It is an implementation of an operation.

Question 5 : Differentiate persistent & non-persistent objects?

Answer 5 : Persistent refers to an object’s ability to transcend time or space. A persistent object stores/saves its state in a permanent storage system with out losing the information represented by the object. A non-persistent object is said to be transient or ephemeral. By default objects are considered as non-persistent.  

Question 6 : Differentiate the class representation of Booch, Rumbaugh and UML?

Answer 6 : If you look at the class representation of Rumbaugh and UML, It is some what similar and both are very easy to draw.

Question 7 : Does a class inherit the constructors of its superclass?

Answer 7 : A class does not inherit constructors from any of its super classes. If a class is declared without any access modifiers, where may the class be accessed? A class that is declared without any access modifiers is said to have package access. This means that the class can only be accessed by other classes and interfaces that are defined within the same package.

Question 8 : How many ways can an argument be passed to a subroutine?

Answer 8 : An argument can be passed in two ways. They are Pass by Value and Passing by Reference. Passing by value: This method copies the value of an argument into the formal parameter of the subroutine. Passing by reference: In this method, a reference to an argument (not the value of the argument) is passed to the parameter.

Question 9 : List out some of the object-oriented methodologies.

Answer 9 : Object Oriented Development (OOD) (Booch 1991,1994). Object Oriented Analysis and Design (OOA/D) (Coad and Yourdon 1991). Object Modeling Techniques (OMT) (Rumbaugh 1991). Object Oriented Software Engineering (Objectory) (Jacobson 1992). Object Oriented Analysis (OOA) (Shlaer and Mellor 1992). The Fusion Method (Coleman 1991).

Question 10 : Object Oriented : Essentials and History

Answer 10 : An object-oriented programming language (also called an OO language) is one that allows or encourages, to some degree, object-oriented programming methods. Simula (1967) is generally accepted as the first language to have the primary features of an object-oriented language. It was created for making simulation programs, in which what came to be called objects were the most important information representation. Smalltalk (1972 to 1980) is arguably the canonical example, and the one with which much of the theory of object-oriented programming was developed. OO languages can be grouped into several broad classes, determined by the extent to which they support all features and functionality of object-orientation and objects: classes, methods, polymorphism, inheritance, and reusability. * Languages called “pure” OO languages, because everything in them is treated consistently as an object, from primitives such as characters and punctuation, all the way up to whole classes, prototypes, blocks, modules, etc. They were designed specifically to facilitate, even enforce, OO methods. Examples: Smalltalk, Eiffel, Ruby. * Languages designed mainly for OO programming, but with some procedural elements. Examples: Java, Python. * Languages that are historically procedural languages, but have been extended with some OO features. Examples: C++, Fortran 2003, Perl. * Languages with most of the features of objects (classes, methods, inheritance, reusability), but in a distinctly original, even elegant, form. Examples: Oberon, and successor Oberon-2. * Languages with abstract data type support, but not all features of object-orientation, sometimes called object-based languages. Examples: Modula-2 (with excellent encapsulation and information hiding), Pliant. Inheritance and polymorphism are usually used to reduce code bloat. Abstraction and encapsulation are used to increase code clarity, quite independent of the other two traits.

OOP Contributors


Share your email for latest updates


Our partners