Q.1. What is OOPS in Java?
Ans: OOPS(Object-Oriented Programming System) in Java is a programming paradigm that is based on the concept of objects which contains data(fields) and behavior(methods) . Java uses OOPS concept to represent the real world entities by making code reusable,modular and much easier to maintain.
The basic building blocks of OOPS concept are Class and Object.
The 4 pillars of OOPS concept are:
1.Encapsulation
2.Inheritance
3.Polymorphism
4.Abstraction
Q.2. What is the difference between Procedural Programming and OOPS ?
Ans:
| Feature | Procedural Programming Language | Object-Oriented Programming Language(OOPS) |
|---|---|---|
| Main Focus | Focuses on functions/algorithms over data. | Focuses on data structures over functions. |
| Program Division | Procedural Programming Language split into smaller logical units called functions or methods. | OOPS split into modular units called classes and objects. |
| Data Security | Less secure as data moves freely and is often globally accessible. | Highly Secure as data is hidden inside objects which is called Encapsulation. |
| Design Approach | Follows a Top-Down approach | Follows a Bottom-Up approach |
| Code Reusability | Code reusability is limited as it relies on repeating method calls or copying code. | Code reusability is high as inheritance and polymorphism concept is there in OOPS. |
| Polymorphism and Overloading | Not supported | Supported. |
3.Q. What is Class?
Ans: A class is a blueprint or template which is used to create individual objects . Class is a basic building block of Object-Oriented Programming language.
A class can contain the following elements:
- Fields(Variables): Attributes or State of the class
- Methods(Functions): Actions or Behaviors that a Class can perform.
- Constructors: Special blocks of code which is used to initialize new objects when they are created.
4.Q.What is an object?
Ans: An object is an instance of a class. Methods and Data members of a class cannot be used directly . So you need to create an object of the class to use data members and methods. In simple word, Objects are the real world entities that have a state and behaviour.
5.Q. What are the advantages and disadvantages of OOPS?
Ans:
Advantages of OOPS in Java are:
- Reusability: Existing code can be reused through inheritance concept of OOPS , which eliminate the need to rewrite the same methods or properties in multiple classes.
- Scalability and Flexibility: Classes and new features can be added or updated with polymorphism and less disruption to the existing codebase, which makes easier to develop large enterprise applications.
- Modularity: Using OOPS concept broke down complex programs into smaller ,self-contained objects , which make it easier for teams to work concurrently and troubleshoot isolated errors.
- Security and Encapsulation: In OOPS , data hiding restricts direct access to an object’s internal state , which protect data integrity and expose only required interfaces.
- Reduce Code Duplication: Using OOPS concept reduces code duplication resulting in cleaner and more organized programs.
- Real -World Modeling : OOPS maps real-world natural entities into software objects , which make easier the software application development process.
Disadvantages of OOPS in Java are :
- Higher Memory Uses:In OOPS objects demand more memory than procedural programming language. They carry extra method tables , metadata and inheritance hierarchies.
- Performance Overhead: In OOPS, extra layers of abstraction , dynamic dispatch and frequent method calls require more CPU instructions due to which OOPS programs often run slower than procedural programs.
- Tight coupling and dependency management : Overusing inheritance can create more rigid depending class hierarchies , due to which changing a base class can break functionality in derived classes.
- Slower Initial Development: Designing an OOP system requires thorough architecture and upfront planning , which delays initial coding compared to quick procedural language.
5.Q. What are the main features of OOPS?
Ans:
The main features of the OOPS which are also known as 4 pillars or basic principles of OOPS are as follows:
- Encapsulation
- Data Abstraction
- Polymorphism
- Inheritance
6.Q. What is Encapsulation in OOPS?
Ans:
Encapsulation in Java is an OOPs concept that wraps data(variables) and code that acts on methods into a single unit, usually a class.
Encapsulation acts as a protective shield that prevents external code from directly accessing or altering an object’s internal data.
To implement Encapsulation in Java, you need to follow two main steps:
- Declare the class variables as private to hide them from direct external access.
- Provide public getter and setter methods to allow read and write access to those variables.
The main advantages of Encapsulation in java are:
- Validation & Data Control: You can prevent invalid data entries . Example: You can write logic inside a setter method to ensure rollno field cannot be set to negative number.
- Data Security: External classes cannot randomly change sensitive data.
- Flexibility(Read only/write only) : If you omit the getter method, it become write-only. If you omit the setter method entirely, the variable becomes read-only.
- Ease of maintenance : One can change the internal implementation of a class without breaking the external code that relies on public getters and setters.
