This paper proposes a theory of encapsulation, taking the internationally standardized definition of that term and establishing a relationship between subsets and the elements that they contain. This relationship is the potential coupling, the maximum potential number of source code dependencies that can exist between program units in a software system. The potential coupling of various, simple systems is examined in an attempt to demonstrate how potential coupling changes as program units are encapsulated among different configurations of subsystems. Keywords Encapsulation theory, information hiding, encapsulation, potential coupling.