コード:

class Hoge {
    var a: Int = 0
    var b: Int = 0

    init(a: Int, b: Int) {
        self.a = a
        self.b = b
    }

    func tasi() {
        println(a + b)
    }
}

var hoge: Hoge = Hoge(a: 10, b: 20)

hoge.tasi()

extension Hoge {
    func kake() {
        println(a * b)
    }
}

hoge.kake()

結果:

30
200

上記コードでextension Hogeのあと、再度インスタンス化する必要があると思うのですが、hoge.kake()が実行できてしまいます。

実行環境が、http://www.runswiftlang.com/ なので、バグかなと思っているのですが、これはswiftの正しい動きなのでしょうか?

よろしくお願いします。