PHPのクラスについて理解が深くないのですが、
PHP5.1.6で以下のコードを書いたときの疑問です。
class Stack {
  public function getInstance() {
    return new Stack();
  }
}

$stack = Stack::getInstance();
の様に、static宣言されずに::を使ってメソッドにアクセスできるのはなぜですか?