In component-based design, components encapsulate their internal implementation details. A dependent component A can only access operations that component B explicitly exposes through its public interfaces, rather than all internal operations defined within B. This encapsulation ensures loose coupling.