Another principle of design is that of encapsulation. Encapsulating data and operations means collecting like elements in one place. Encapsulation is the flip side of abstraction: it determines that no one outside the abstraction can in fact determine details. Encapsulation should be thought of collecting all those details that should not be widely known and then protecting them somehow.