What does this mean when justifying static classes?
<p>1) Static class members can be used to separate data and behavior that is independent of any object identity: the data and functions do not change regardless of what happens to the object. Static classes can be used when there is no data or behavior in the class that depends on object identity.</p>

<p>What does it mean by functions do not change regardless of what happens to the object? How can a function change? Static variables, yes, but functions?</p>

<p>What does "object identity" mean? Would that be for example, a specific house in a house object? (So we deal with a specifically chosen house). So a static class would not work on any house objects?</p>

<p>2) If I don't work with instance state, should I always use static classes? What's the difference between a static and instance class working with instance state? All I can think of is the static class will only be of 1 instance and thus 1 instance means many calls will be queued if the class worked with instance state (if there is thread synchronisation)? Obviously, static state should only need a static class.</p>

<p>Is this correct?</p>
