Information Hiding Definition/Meaning:
A principle, used when developing an overall program
structure, that each component of a program should encapsulate or hide a single
design decision. The principle was first expounded by David Parnas, who advocated
an approach to program development in which a list is prepared of design
decisions that are particularly difficult or likely to change; individual
components or modules are then defined so that each encapsulates one such
decision. The interface to each module is defined in such a way as to reveal as little as possible
about its inner workings.
This approach leads to modules that are readily understood and can be developed
independently. More important, it also leads to programs that are easy to
change, with many desired changes requiring modification of only the inner
workings of a single module.