Which of the following are good reasons for defining a method as non-static instead of static?
I. The method is a pure function that does not modify any instance variables in the class
II. The method needs to refer to non-static variables in the class
III. The method’s functionality applies to instances of the class
IV. When you prefer to call the method from other classes without creating a new object from the class