Question: what is the difference between data hiding and abstraction?
Answer: Data hiding is the process that ensures exclusive data access to class members and provides object integrity by preventing unintended or intended changes. Abstraction, on the other hand, is an OOP concept that hides the implementation details and shows only the functionality to the user.