07/06/30 23:50:05
以前「やさしいjava」で勉強してて質問した88です。
値渡し、参照渡しの理解で苦しんでます。
値渡し、参照渡しは言語によってあったりなかったりぽいのですが、これは理屈どうこうっていうより「java仕様」って事で覚えた方がいいのでしょうか?
なぜ値渡し、参照渡しと別々の考え方なのかが理解できないでいます。
「やさしいjava」曰く、クラス型変数は代入=参照渡しだから~という内容で、int型等を「基本型」とくくって「基本型の変数は値渡し」と書いてあります。
他のサイトやwikiで調べてみると、基本型とかクラス型とか、そういう考え方は一切なく、intやdoubleは値渡しで処理して、String型等は参照渡しがjavaの仕様と書いてあるような気がしました。
やさしいjavaで「クラスで生成された変数は参照型の処理をされる」と書いてありますが、自分のコードのクラスで生成した変数だろうが、クラスライブラリ使用での変数だろうが、
どっちもクラス型変数のような気がして、いまいち「int型やdouble型は基本型の変数」というのが納得いきません。
int型やdouble型等は値渡し、String型は参照渡し みたいな感覚で覚えていいのでしょうか?
うまく説明できてい上に初歩すぎる質問かもですが、よろしくお願いします。