Operations are functions in the category IsOperation.
So on the one hand, operations are GAP functions, that is, they can be applied to arguments and return a result or cause a side-effect.
On the other hand, operations are more. Namely, an operation corresponds to a set of GAP functions, called the methods of the operation.
Each call of an operation causes a suitable method to be selected and then called. The choice of which method to select is made according to the types of the arguments, the underlying mechanism is described in the following sections.
Examples of operations are the binary infix operators =, + etc.,
and PrintObj is the operation that is called for each argument of
Print.
Also all attributes and properties are operations. Each attribute has a special method which is called if the attribute value is already stored; this method of course simply returns this value.
The setter of an attribute is called automatically
if an attribute value has been computed.
Attribute setters are operations, too.
They have a default method that ignores the request to store the value.
Depending on the type of the object,
there may be another method to store the value in a suitable way,
and then set the attribute tester for the object to true.
GAP 4 manual