So far, the objects we have designed have all their internal parts (their methods and variables) available for the rest of the program to use. Better designs enforce encapsulation by preventing other parts of the program from directly accessing many of the instance variables and methods of an object. This chapter discusses how to use the private visibility modifier to do this.