A class is considered coupled to another one if it uses it. Classes that are coupled to many other classes are said to have a high coupling. High coupling classes are tailored for a single specific use case, and will not be reused elsewhere. It is preferable to split those large monolithic classes into a few smaller modular ones.

The following code illustrates this rule:

class Foo   // Non-Compliant - depends on too many other classes
{
  T1 a1;    // Foo is coupled to T1
  T2 a2;    // Foo is coupled to T2
  T3 a3;    // Foo is coupled to T3
  T4 a4;    // etc.
  T5 a6;
  T6 a6;
  T7 a7;
  T8 a8;
  T9 a9;
  T10 a10;
  T11 a11;
  T12 a12;
  T13 a13;
  T14 a14;
  T15 a15;
  T16 a16;
  T17 a17;
  T18 a18;
  T19 a19;
  T20 a20;
  T21 a21;
}