What have we gained?
Rather than doing (and having to know) all the volume and surface calculations in our code, we ask the object questions and let it do the math.
We (as the author of the main program) need not be concerned about the inner workings of the cylinder class, nor about how the volume is actually calculated.
We are not aware how the cylinder object stores information about itself (radius, height) internally; we do not see (and cannot access) those variables, nor can we make assumptions about their meaning.
If the class programmer thinks of a better way to describe a cylinder (say, diameter, height) in the future, only the few functions in the class will need to be changed, none of our user code.
This is called “information hiding”.