title: A precise explanation of encapsulation, data abstraction and data hiding
body: <p>The object oriented concepts : <code>encapsulation</code>, <code>data abstraction</code> and <code>data hiding</code> are 3 different concepts, but very much related to each other. So i am having difficulty in understanding the concepts fully by reading the information from internet. The information available at one place contradicts with information at another place in the internet. Could someone guide me to a tutorial which clearly explains the 3 concepts and brings out the difference between the three?</p>