What is the difference between data abstraction, encapsulation and data hiding in terms of java?
Data Abstraction – Is the separation of a data type’s logical properties from it’s implementation. To hide the irrelevant details of the computer’s view of data from our own, we use data abstraction to create another view. Data Encapsulation – The separation of the representation of data from the application that use the data at a logical level; a programming language feature that enforces information hiding. The physical representation of the data remains hidden. Data hiding is a form of encapsulation in which we define access to data as a responsibility. So all data hiding is encapsulation, but not all encapsulation is data hiding. Go figure (think this through for yourself, it’s quite simple).