クロージャーの理解に苦慮しています。
以下にサンプルプログラムを添付します。swiftプログラムです。
動作については理解していますが、関数(func)内の関数で、内部の関数はその外の変数にアクセス可能というクロージャーの理解はしています。疑問点は以下の通りです。

let inc = makeIncrementer(10, 5)

によって、incの定数に"15"が設定されますよね。

inc()   // 15

で、inc()とは何?という疑問があります。またinc()を繰り返す度に5が足されるのか、makeIncrementerのaddValueの値が5を足されると思いますが、var vがなぜ値を保持しているのかも疑問です。

何か理解が間違っていると思いますので、教えていただけないでしょうか?質問を端的に言うとinc()とは何?ということです。

以下、リストを添付します。よろしくお願いします。

func makeIncrementer(initValue: Int, addValue: Int) -> () -> Int {
    var v = initValue
    func incrementer() -> Int {
        v += addValue
        return v
    }

    return incrementer
}

let inc = makeIncrementer(10, 5)
inc()   // 15
inc()   // 20
inc()   // 25