I am trying to understand cohesion, but it looks similar to adhesion.

I want to know how cohesion is different from adhesion
Could you please give an example (basic English)?

I am trying to understand this from the computer science perspective.

  • @snailboat I have added context.. and thank you very much
    – Premraj
    Jul 16, 2015 at 23:36
  • @PeterParker I'm not sure about "adhesion" in the context of coding. (I've never heard of it in this context.) You can find more information about cohesion on Wikipedia: en.wikipedia.org/wiki/Cohesion_%28computer_science%29. Personally, I prefer saying "tight/loose coupling", which is basically the same idea. Jul 16, 2015 at 23:58
  • @snailboat: Do you know any "technical context" meaning for adhesion in respect of computer science? I don't. Jul 17, 2015 at 0:53
  • @FumbleFingers Nope, just cohesion. I asked the same question on chat, but so far no one knows.
    – user230
    Jul 17, 2015 at 0:56

3 Answers 3


Cohesion generally refers to the ability/tendency of a homogeneous substance or mixture of different things/ingredients to...

cohere - to hold together firmly as parts of the same mass
(alternate) - to be logically or aesthetically consistent

Adhesion generally relates to the ability of something to...

adhere - to stick to something : to attach firmly to something
(alternate) - to hold fast or stick by or as if by gluing, suction, grasping, or fusing

(Italics mine, to emphasize those aspects that normally distinguish the two words.)

Thus one could say that something exhibits cohesion all on its own (it stays together in a lump), but adhesion normally implies sticking to something else.

In the context of software, cohesion refers to the degree to which the elements of a module belong together. I'm not aware of any domain-specific sense of adhesion in the context of computing.

  • Cohere means to "stick together", *adhere" means to "stick on the outside of."
    – LawrenceC
    Mar 25, 2016 at 11:24

Cohesion has a specific meaning in Computer Science that relates to the similarity of elements within a larger system. While it is most commonly used in software engineering to describe how closely the methods of a class are related to the purpose of the class, it can also used in broader terms - you could say that the StackExchange family of communities are a quite cohesive system.

I've not heard of adhesion being used in relation to CS although adhere as a verb is used - we adhere (or, at least, we should try to) to standards.

So, you could say that "we adhere to best practice in OOP by ensuring that we write classes with with a high degree of cohesion."

I guess that you could mangle that sentence to use both adhesion and cohesion and still have it make sense, but it would sound awkward.


In my notes from my 2016 programming practices class, there's Coupling: The degree of reliance on other modules/functions. Cohesion: The degree to which a function adheres to one task.

  • Welcome to ELL and thank you for answering. We're building a database of questions and answers about English usage, so it's important to really answer the question, which asks how cohesion is different from adhesion. We hope you'll ask questions of your own, too! Aug 15, 2016 at 17:16

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .