I classes vs normal classes?

Hello there my fellow coders,

I've been using the Solidworks API for roughly a month now and I still can't understand one (very basic) thing:

What is the difference between "normal classes" and Iclasses ?  For example   ModelDoc2   and IModelDoc2 ?

I'm guessing the ' I ' stands for "Interface" but I'd like to know what the practical / theoretical difference between the 2 is.

Regards,

Rumen

SolidworksApi macros