Instance methods define an allowable operation on a structured UDT. An instance method does not operate directly on a UDT, but rather on a particular instance of that UDT.
When an instance method is invoked, a structured type instance is passed as an implicit subject parameter. This subject parameter is associated with the parameter name, SELF, and is the reason that you cannot name any method parameters using the name SELF.
Instance methods typically manipulate the data attribute set of a structured UDT. Examples of instance methods include observer and mutator methods.