The terms public and private are used to differentate the internal or implementation aspects of a class from the extenal, or interface features. Public features can be seen and manipulated by anybody in the object community. Private features, on the other hand, can be manipulated only within a class. Typically methods are public and data fields are private, but this is only convention, and either type of feature can be placed in either category.