i.e., the functions of a class should be strongly related in supporting a single central purpose
A maximal cohesive class is one in which all functions work with all the instance variables
Achieving that is pretty difficult
We should try to make our classes as cohesive as possible
This can be done by having a smaller number of instance variables such that each function in the class work with as many of the instance variables as possible
This can be done by splitting the class into multiple classes based on the responsibility of each class