Principiante Java - Error estático

¡Buen día!

Soy un principiante en Java. No puedo compilar el siguiente código:

public class Test {
 public static void main (String [] args ){
  int a = calcArea(7, 12);
  System.out.println(a);
 }

 int calcArea(int height, int width) {
  return height * width;
 }
}

Aparece el siguiente error:

Non-static method calcArea(int, int) cannot be referenced from static content

Qué significa eso? ¿Cómo puedo resolver ese problema ...?

Su respuesta sería muy apreciada. Gracias

Basado en su consejo, hice una instancia que es una nueva prueba () de la siguiente manera:

public class Test {
    int num;
    public static void main (String [] args ){
        Test a = new Test();
        a.num = a.calcArea(7, 12);
        System.out.println(a.num);
    }

    int calcArea(int height, int width) {
            return height * width;
    }

}

¿Es esto correcto? ¿Cuál es la diferencia si hago esto ...

public class Test {
 public static void main (String [] args ){
  int a = calcArea(7, 12);
  System.out.println(a);
 }

 static int calcArea(int height, int width) {
  return height * width;
 }
}

Respuestas a la pregunta(5)

Su respuesta a la pregunta