クラスからオブジェクトを作ってみる

public class HelloWorld{
  public static void main(String []){
    System.out.println("Hello World");
  }
}

このHelloWorldクラスは、オブジェクトを作らないでクラスだけで動くデータもないし、メソッドもないシンプルなプログラムです。
mainメソッドを呼び出している文が記述されていませんが、Javaインタープリタから呼び出されているわけで、各々が書くプログラム内にはないわけです。というわけで、コマンドプロンプトなどから、

% java HelloWorld

と書くとこのmainメソッドが呼ばれプログラムが起動するわけなのです。

  • static修飾子

main()メソッドを修飾しているstaticの意味は「オブジェクトにも属さず、クラスに属するデータやメソッドに付ける修飾子」なのです。
プログラムが呼ばれるとメモリ上に読み込まれ展開されるわけなのです。
ので、オブジェクトがない状態のmainメソッドでは必ずクラスに属するstaticメソッドの記述でなければいけないわけです。
乱暴に言うと、「クラスに属するものはstaticがつく。オブジェクトに属するものにはstatic修飾子がつかない」と覚えておくといいと思います。