キャストというのが今一つ分からないので教えて下さい。

あるインスタンスをどんな型にキャストしようが、
そのインスタンス自体に変化はないのでしょうか?
つまり、メモリ上にあるインスタンスのデータは何も変わらず、
そのインスタンスを指す変数だけが変わるようなイメージでしょうか?

それとも、キャストによってインスタンス自体が変わったり
するんでしょうか?(フィールドやメソッドが無くなったりとか)


トンチンカンなことを言ってたらすみません。
こういうことが分かるようなオススメの本もあれば教えて下さい。