>>400
文字列の足し算と数値の足し算はまるで違うし、オブジェクトの足し算もありうる。
また数値は数値でもビッグなインテジャーもあれば文字列表現されている数値もある。
結局は各組み合わせごとに加算方法を定義する必要があるわけで多態なんかお呼びじゃないよ。
プリミティブな変数に限ってコンパイラが頑張って暗黙的なキャストしてるけど、
どの型にキャストするのかについてどの型が上位かという序列を内部でもってるわけだし。