The term encapsulation is often considered to be interchangeable with information hiding . However, not differentiating between these two important concepts deprives Java developers of a full appreciation of either.
Encapsulation is a language facility, whereas information hiding is a design principle.
This article investigates strengthening class design through careful consideration of each of these concepts. Paul Rogers ords are slippery. Certainly the common usage of the words encapsulation and information hiding seems to follow that logic. Authors rarely distinguish between the two and often directly claim they are the same. Not for me.