If a class has an attribute defined for it, then there exists a function that returns the value of the attribute. Attribute functions take a single argument, an instance of the class for which this state value should be retrieved. Some attributes are setable. This means that an operation corresponding to the attribute is defined to change its value. Not all attributes should be setable.
Attributes can be private or public.
If an attribute is private, then functions outside the implementation of the class should not access or set the attribute's value. This, of course, is not enforced in Emacs Lisp, but is rather a way of helping programmers to understand what parts of a subsystem are internal details and can thus be safely ignored. If you find yourself as a class implementor needing access to a private attribute of another class, you should publicize this observation immediately. It may be the case that there is a public operation that you should use instead. Alternatively, it may be the case that the private attribute should be made public.