... when you serialize it is the object
you serialize and not the class
; i.e. meaning that the serialized data are the public fields, and not the processing logic. When you deserialize in the other end you can cast it to the same class, so that you have the same logic as in the original object.
Hope it helps, Jacob.