title: Should I create static method or abstract superclass
body: <p>I am trying to refactor a project in which there are same methods which are spread across various classes. To reduce code duplication, should I move the common code to an abstract superclass or should I put it in a static method in a utility class? </p>
  
  <p><strong>EDIT</strong>
  Some of the methods are for generic stuff which I believe can be made static. While there are others which refer to attributes of the  class, in which case I think it makes more sense to make it as an abstract super class.  </p>