Javaは創成期に何を目指し何を解決したかったのか ― を考えることで、オブジェクト指向(プログラミング)に対する理解を深めることができます。 本連載は、非オブジェクト指向言語が持つ問題をJavaがどのように解決したかを知ることで、オブジェクト指向の本質を理解することを目的としています。非オブジェクト指向の代表格としてC言語を主として扱いますが後半ではC++の問題にも触れます。 (JavaやC++のように静的な(固い)オブジェクト指向プログラミング言語の問題を、Rubyなどの動的な(柔らかい)言語が、どのように解決したのかについて、別の連載テーマとして取り上げる予定です。) 「オブジェクト指向」という言葉(の少し歴史的な話) Java以前のオブジェクト指向はソフトウェア開発に直結する技術でしたが、Javaによって爆発的に「オブジェクト指向」という言葉が広まって以来、徐々に設計や要求定義と