| type use coupling |   | when a class declares a variable as having another class as its type | A form of coupling in which several components make use of the same globally-defined data type | if the type definition changes, then the users of the type may well have to change. | similar to common coupling, but instead of data being shared, only data types are shared | coupling | - ensuring that a class is only type-coupled to classes in a relatively small number of packages
 - declaring the type of a variable to be the most general possible class or interface that contains the required operations 
 
  | typed languages such as Java |