フィールドとメソッド・式と文

Javaを習ったときは、クラスの中の変数に対してフィールドとしてアクセス
するとかメソッドとしてアクセスするなど、煩わしくさせず基本的にはSetterGeterを使う事、
つまりフィールドとは値を返す(値を設定する)メソッドであるから、すべてメソッド経由で行え
って勝手に解釈したんですが(合っているかわ知らんです)


最近のLightweight Languageだと「+-/:」などの式もオーバーライト?できるんですが、
今回紹介した「プログラミング入門 6章メソッド」を読んでこうゆう意味なのかな?と、
式と文を区別しないつまり式もメソッド(文)である。ってかってに解釈したんだがあってるのかな?


「A * B」
これはクラスAの*メソッドにBが渡されると解釈されるわけですね。


そう考えれば、rubyで「"abc" * 5」が実行され「5 * "abc"」がエラーになるのは、
文字列abcの*メソッドに、数字が渡された場合は"、複数個対象文字列を並べた物を返すって
動作は自明な事と解釈できるので、誰かが便利なように作ってくれているからそのように動く。
逆に数字5の*メソッドに文字列が渡されるのは、どのように動くか自明でないから、
だれも実装してくれていないからエラーになる、しかし、必要とあらば自分で定義できると。


ふむ式と文の違いを無くす、つまりすべての式を文(メソッド)にするってのが、少し理解できたのかな?