Question
Consider the following Java code that implements
encapsulation: class BankAccount { private double balance; public BankAccount(double initialBalance) { if (initialBalance > 0) { this.balance = initialBalance; } else { this.balance = 0; }} public double getBalance() { return balance; } public void deposit(double amount) { if (amount > 0) { balance += amount; }} public void withdraw(double amount) { if (amount > 0 && amount balance -= amount; Which of the following statements is TRUE about the BankAccount class?Solution
The getBalance method allows indirect access to the balance variable. The BankAccount class demonstrates encapsulation, one of the key principles of Object-Oriented Programming (OOP). Encapsulation refers to the practice of hiding the internal state of an object and allowing access to it only through public methods. In this case, the balance variable is declared as private, meaning it cannot be accessed directly from outside the class. However, the class provides a public getBalance method, which allows indirect access to the balance by returning its value.The getBalance method maintains the principle of encapsulation because it provides controlled access to the internal state (balance) of the object. This way, the class maintains control over how the balance is accessed and modified. This ensures that only valid operations (e.g., checking the balance, depositing, and withdrawing) can be performed, protecting the integrity of the balance variable. Why Other Options Are Wrong: Option 1: The balance variable can be directly accessed and modified outside the class.This option is incorrect because the balance variable is declared as private, which means it cannot be accessed or modified directly from outside the BankAccount class. Any access to the balance must be done through the provided public methods (getBalance, deposit, withdraw). Option 2: The BankAccount class does not follow the principle of encapsulation because the methods are public.This option misunderstands encapsulation. Encapsulation is about protecting the internal state by making variables private and exposing only necessary behavior through public methods. The BankAccount class follows this principle because the balance variable is private, and access is controlled through the public methods. Hence, this option is incorrect. Option 3: The withdraw method can reduce the balance to a negative value.This option is incorrect because the withdraw method checks that the amount to be withdrawn is less than or equal to the current balance. If the withdrawal amount exceeds the balance, the operation is not performed, ensuring that the balance does not become negative. Option 5: The deposit method does not check for negative amounts, allowing invalid deposits.This option is incorrect because the deposit method includes a check to ensure that only positive amounts are deposited. If the amount is negative or zero, the deposit is not processed. Hence, invalid deposits are prevented by the method.
Which of the following statements is true regarding the "HaatiApp" developed to mitigate human-elephant conflict in Assam?
_______ has signed a definitive agreement to acquire a 100 percent equity stake in ASAP Group, a German automotive engineering services provider, for Eu...
Bilateral Trade between India and the GCC registering an increase of ______ % on a year-on-year basis in FY 2021-22?
What was the key announcement made by Finance Minister Nirmala Sitharaman regarding affordable housing?
A Bilateral Exercise “ Udarshakti ” hosted by which country recently?
What is the main aim of the RBI’s newly formed committee on Artificial Intelligence (AI) in the financial sector?
How much percent did World Bank cut its 2022-23 (FY23) real gross domestic product (GDP) growth forecast for India in its latest Global Economic Prospe...
India’s industrial growth rose to a four-month high of what rate in July 2025?
What does the recent data on India’s mineral imports indicate about the trends in mineral import values and volumes?
The recently launched IDFC FIRST Bank's Ashva Credit Card is crafted from: