Stringを、NSMutableStringにcastする際、以下のようにmutableCopy()を使用します。

var sample1: String = "aaabbb"
var sample2: NSMutableString = sample1.mutableCopy() as! NSMutableString

しかし、String Structure Referenceを見ても、StringはmutableCopyメソッドは持っていないようで、NSObject Class Referenceを確認すると、NSObjectが持っていました。

Stringは構造体のため、NSObjectを継承していないはずです。
なぜ、StringでmutableCopy()が使用できるようのでしょうか?

XCode 7.1 Swift 2 を使用しています。

よろしくお願いします。