The object-oriented meaning of encapsulation is to enclose related data, routines and definitions in a class capsule. This does not necessarily mean hiding.
Implementation hiding is an orthogonal concept which is possible because of encapsulation.
Both data and routines in a class are classified according to their role in the class as interface or implementation. Most often only the interface routines and data should appear at design time, the implementation details appearing later. The interface describes the essential characteristics of objects of the class which are visible to the exterior world. Like routines, data in a class can also be divided into characteristic interface data which should be visible, and implementation data which should be hidden. Interface data are any characteristics which might be of interest to the outside world.