Question
A software developer is designing a banking application
where each bank account object should restrict direct access to its balance variable to prevent accidental modifications. Instead, the application allows access to the balance only through specific methods like getBalance() and deposit(), which include validation checks to ensure that operations are secure and valid. Which object-oriented programming principle is the developer applying to achieve this data protection?ÂSolution
Encapsulation is a core principle of object-oriented programming that the developer is applying here to protect the bank account’s internal state, specifically its balance. By restricting direct access to the balance variable, the developer ensures that this data can only be modified through predefined methods such as deposit() and getBalance(). These methods act as controlled access points, which not only prevent unauthorized modifications but also allow for validation checks to maintain the integrity of the data. Encapsulation combines data (variables) and methods (functions) within a class, creating a well-defined boundary that prevents external classes from directly accessing or altering the internal state. This approach improves security and data integrity, making the code easier to maintain and less prone to errors. The other options are incorrect for the following reasons: • Option 1 (Abstraction) focuses on simplifying complex systems by hiding unnecessary details and providing a clean interface, but it does not inherently control access to an object's internal state. • Option 3 (Inheritance) allows a new class to inherit properties and behaviors from an existing class, which helps with code reuse but does not inherently involve data hiding or restricting access to internal states. • Option 4 (Polymorphism) enables objects of different classes to be treated as instances of a common superclass, allowing flexible and dynamic code. However, it does not relate to the control or protection of internal data. • Option 5 (Aggregation) represents a "has-a" relationship between objects, where one class contains instances of another class as part of its state. It describes object relationships rather than protecting or hiding internal data within an object.
Rajit Punhani has taken charge as the CEO of which regulator?
Which of the following countries is not in the G7 Group?
Shreya Agrawal is associated with which of the following sports?
What is the maturity period of the bond scheduled to be auctioned for Rs 10,000 crore in the week of October 30 - November 3, 2023?
What percentage of projects under the Smart Cities Mission have been completed according to the Ministry of Housing and Urban Affairs?
Continental Shelf which is the shallowest part of the ocean has an average gradient of:
Which of the following districts are listed among the 10 worst- affected districts in the Landslide Atlas of India released by NRSC as per the satellite...
What is the name of the Indian Navy's Landing Ship Tank amphibious assault ship that was recently decommissioned after 36 years of service to the nation...
Which state government has approved 12 key projects with a cumulative investment intent of Rs 84,918.75 crore &Â will create employment opportunities f...
How much fine has been imposed by the Reserve Bank of India on Punjab and Sind Bank for non-compliance with certain directions on 'Loans and Advances St...