Interview Questions

What is Coupling?

Coupling is the degree in which a class knows about the another class.

Consider the following example.

Let's assume there are 2 classes X and Y.

interface Intf {

Class Y implements Intf {


Class X {

// Access Y methods using the Interface. It is loosely coupled.

// Access Y method directly without any interface, then it is tightly coupled.

In the above example, if the class X, accesses the methods mtd1() and mtd2() using the interface, then they are loosely coupled. Whereas, if X tries to access the those methods directly using Y reference, then they are tightly coupled with each other. This is because, in future if the implementation of class Y is changed, then there should be code changes to be performed in class X. Hence it is rightly coupled.