Understanding OOP Concepts: Coupling

Today we’ll try to get the idea of Coupling. Let’s get started:

Table of Contents

  1. Coupling
  2. Tight Coupling
  3. Loose Coupling

Coupling

Coupling is a situation where an object can be used by another object. It can also be termed as collaboration.

There are two types of coupling:

  1. Tight Coupling
  2. Loose Coupling

Tight Coupling

We can say tight coupling is when a group of classes are highly dependent on one another. It’s a bad programming design. Let’s see an example:

class Volume {
    public static void main(String[] args) {
        Box box = new Box(5, 10, 5);
        System.out.println(box.volume);
    }
}

class Box {
    public int volume;

    Box(int length, int width, int height) {
        this.volume = length * width * height;
    }
}

In the above example, Volume & Box classes are independent. But there is a strong inter-dependency between the classes. If there is any change in Box class then they reflect in the result of class Volume.

Loose Coupling

We can say loose coupling is when an object gets the object to be used from external sources. It’s a good programming design. Let’s see an example:

class Volume {
    public static void main(String[] args) {
        Box box = new Box(5, 10, 5);
        System.out.println(box.getVolume());
    }
}

final class Box {
    private int volume;

    Box(int length, int width, int height) {
        this.volume = length * width * height;
    }

    public int getVolume() {
        return volume;
    }
}

In the above example, if we change anything in the Box class then we don’t have to change anything in Volume class. There is no dependency between the classes.


Software Engineer | Ethical Hacker & Cybersecurity...

Md Obydullah is a software engineer and full stack developer specialist at Laravel, Django, Vue.js, Node.js, Android, Linux Server, and Ethichal Hacking.