Coupling Between Objects (CBO) is the degree by which one object depends on each of the other objects. The coupling can occur through method calls, field accesses, inheritance, arguments, return types, etc. The degree of coupling should be low. A high value represents poor encapsulation. This makes reuse of components difficult. Also, changes in highly-coupled classes (components) often have a ripple effect on other dependent classes.