質問: JAVAのオブジェクト指向を勉強・練習している者です。 説明が下手ですいませんが、「スッキリわかるJava入門 第2版 (スッキリシリーズ) 」の(P281)「手続き型プログラミングとの違い」のところを復習を兼ねて読み直しているのですが、「**手続き型プログラミング**」とは > > コンピュータがどのように動けばよいかという手順を考え、プログラムの先頭から順番に命令として記述していく方法です。 > > > と書かれているのですが、**JAVAも、同じようにプログラムの先頭から順番に命令として記述していき、実行していくと私は思う**んですが、(違っていたらすいません)**オブジェクト型プログラミング**と**手続き型プログラミング**は**厳密には何がどう違う**のでしょうか? 又、**オブジェクト型**と**手続き型**では**コンピュータ上ではどう動く**のですか? 例えば**オブジェクト型**は**コンピュータ上**では**クラスのソースコードをコンピュータのメモリ上に展開する**のですが、**手続き型**は**コンピュータ上ではどう動く**のでしょうか? わかりやすく教えてくれませんか? よろしくお願いします。
回答: オブジェクト指向と手続き型は相反するものではありません。大雑把に述べれば、オブジェクト指向プログラミングはマクロな考え方、手続き型はミクロな考え方のプログラミングです。 javaでもすべての処理をMainメソッド内に記述しても文法上の誤りはないです。ただし、こうなるともうオブジェクト志向と呼ぶより手続き型に近いものになってしまします。そもそも、オブジェクト指向言語であっても、ソースを書き下す過程は手続き型の考え方が必要です。 逆にC言語(C++やObjective Cは含まない)の中でも、構造体とポインタを駆使し、独自ルールをチーム内で作っていけばオブジェクト指向に相当するプログラミングもできるはずです。