後輩から「オブジェクト指向って何なんですか」と聞かれた。どうも大学の講義の資料をみてもピンとこないらしいのだが、その資料が「自動車を継承してトラックやセダンを作る」とか「継承、多態性、カプセル化がオブジェクト指向の三要素」などと書かれていて、少し頭を抱えてしまった。この御時世に下らんたとえ話や継承、多態性、カプセル化はないだろう。
その後輩にはサークルではC/C++を教えているので、「変数が自分の行うべき処理を知っているのがオブジェクト指向」という所から説明を始めたのだが、果たしてこれは成功だったのか。あまりクラス指向によった話をするのは後々のことを考えるとマイナスだと思うし、やはりクラスとオブジェクトを一旦切り離して説明したかったのだが。
C++やJavaと心中するつもりなら前述の三要素でいいのかもしれないが、俺はそんなのはまっぴら御免だし特定の言語が廃れたら役に立たなくなるような知識を最初に教えたくはない。でも「オブジェクト指向の本質って何?」と聞かれると自信を持って答えられる訳でもないし。何となく「変数が自分の行うべき処理を知っているのがオブジェクト指向」という解答は正解に近いと思うのだけれど……。