Question

    Which of the following best demonstrates encapsulation

    in Object-Oriented Programming (OOP)?
    A Using inheritance to extend a base class with additional functionality. Correct Answer Incorrect Answer
    B Declaring all member variables as public for easy access. Correct Answer Incorrect Answer
    C Hiding internal state and requiring all access to be through methods. Correct Answer Incorrect Answer
    D Overloading a method to perform multiple functionalities. Correct Answer Incorrect Answer
    E Using static variables to share data across instances. Correct Answer Incorrect Answer

    Solution

    Encapsulation is one of the core principles of Object-Oriented Programming. It is the process of bundling the data (variables) and methods that operate on that data into a single unit, often a class, while restricting direct access to some of the object's components. This is achieved by declaring variables as private and providing public getter and setter methods to access and modify them. Why Option 3 is Correct: Encapsulation ensures that the internal representation of an object is hidden from the outside. The object exposes only specific methods to manipulate its state, providing controlled access and maintaining integrity. For example: class Account {     private double balance; // private variable ensures data hiding     public void setBalance(double amount) {         if (amount > 0) {             balance = amount;         } else {             System.out.println("Invalid amount");         } }     public double getBalance() {         return balance;    }} Here, the balance variable is hidden, and access is managed via getBalance and setBalance methods, ensuring that improper data cannot corrupt the object. Encapsulation improves code readability, security, and modularity. It adheres to the principle of "data hiding," reducing the chance of errors caused by unintended modifications. ________________________________________ Why Other Options Are Incorrect: 1. Using inheritance to extend a base class with additional functionality: This describes inheritance, not encapsulation. While inheritance promotes code reuse, it does not hide internal data or enforce controlled access to it. Encapsulation focuses on protecting the internal state of an object. 2. Declaring all member variables as public for easy access: Public member variables violate the concept of encapsulation. It allows direct access and modification of an object's state, defeating the purpose of data hiding and controlled access, potentially leading to integrity issues. 3. Overloading a method to perform multiple functionalities: Method overloading is a feature of polymorphism, where multiple methods in the same class have the same name but different parameter lists. While useful, it does not relate to encapsulation, which is about data protection and controlled access. 4. Using static variables to share data across instances: Static variables are shared among all instances of a class and can break encapsulation if not used carefully. Encapsulation emphasizes protecting the internal state of an individual object, not sharing data globally.

    Practice Next