I am working on a coding convention to follow for my Java projects.  I find it easier to find my way through a class when I group its methods by category.  For example, rather than having each getter/setter pair for a variable one after another in a long list, I find it easier to group all the getters in a section, and all the setters in another.  This means my code is organized like this:public class MyClass {    //=========================== Instance Fields ============================//    //========================== Instance Interface ==========================//    //----------------------------- Constructors -----------------------------//    //------------------------------- Getters --------------------------------//    //------------------------------- Setters --------------------------------//    /* More categories? */    //============================ Static Fields =============================//    //=========================== Static Interface ===========================//}The problem with this approach is one with my knowledge: I do not know how to categorize every method.  Obviously, I am familiar with constructors, destructors, getters, and setters.  I have also heard of observers/queries, transformers/mutators, and iterators, though I have not yet found standardized names for these.  But then there are methods that leave me scratching my head, like methods for immutable classes that return a new version of that object that represents a change to that immutable state.Is there a standardized set of categories in OOP that cover what methods can do?  If so, could someone provide a list of these names and explanations for what that category does?  If these categories are language-specific, could you also provide a Java-specific set?
OOP (possibly Java-specific): Comprehensive Set of Method Categories
java;object oriented;theory