il seguente programma java


public class printer
{
public void print(int x)
{
System.out.println(x);
}
public static void main (String[] arg)
{
int n= 13;
print(n);
}
}

genera un errore in compilazione del tipo

printer.java:10: non-static method print(int) cannot be referenced from a static context

è evidente che il metodo print deve essere dichiarato come statico.. ma come mai? cos'è che l'obbliga a essere statico ?

grazie