I've generally heard the two concepts discussed as abstraction vs generalization.<p>Abstraction hides unnecessary detail. Generalization finds/surfaces commonality among items.<p>> oop - What's the difference between abstraction and generalization? - Stack Overflow - <a href="https://stackoverflow.com/questions/19291776/whats-the-difference-between-abstraction-and-generalization" rel="nofollow">https://stackoverflow.com/questions/19291776/whats-the-diffe...</a><p>Creating a procedure/method is a form of abstraction. Allowing it to accept parameters is a form of generalization (by allowing it to be used for a number of similar inputs).<p>Simply creating an integer data type is a very simple form of generalization. Allowing operations to work against generically against any integer.