Information hiding
Information hiding is perhaps the most
important intellectual tool developed to
support software design [Parnas 1972]
Makes the anticipation of change a centerpiece
in decomposition into modules
Provides the fundamental motivation for
abstract data type (ADT) languages
And thus a key idea in the OO world, too