つまり、オブジェクト指向の指向ってなに?

2023/07/12に公開

導入

気になったことをchatGPT聞く記事録シリーズ第一弾です。
今回は、オブジェクト指向などでよく使われる"指向"という言葉について聞いてみました。

chatGPTに聞いてみた

You:

オブジェクト指向やコンポーネント指向などの言葉をよく聞くのですが、そもそも指向とはなんでしょうか。

ChatGPT:

"指向"は、ある特定のスタイル、方法、もしくはアプローチに焦点を当てるという意味で、プログラミングの文脈では特定の設計哲学やパラダイムを表すのに使われます。

具体的には、"オブジェクト指向"や"コンポーネント指向"といった言葉は、それぞれオブジェクト指向プログラミングやコンポーネント指向プログラミングという特定のプログラミングのアプローチや設計パターンを指します。

  1. オブジェクト指向: オブジェクト指向プログラミングは、データとそのデータに対する操作(メソッド)を一つの「オブジェクト」にまとめるというパラダイムです。これにより、プログラムは現実世界の事物や現象をより自然にモデル化することができます。オブジェクト指向プログラミングの主要な原則には、カプセル化、継承、ポリモーフィズムがあります。

  2. コンポーネント指向: コンポーネント指向プログラミングは、ソフトウェアの開発を一連の独立したコンポーネント(モジュールや部品)の組み合わせとして見るパラダイムです。これにより、コードの再利用性が高まり、システム全体の設計とメンテナンスが容易になります。

このように、「指向」は、特定の設計哲学やプログラミングのアプローチに焦点を当てるという意味で、それぞれの「指向」が提供するツールや概念を用いて、より効率的で理解しやすいソフトウェアを開発することができます。

You:

"指向"という言葉の語源はなんでしょうか。

ChatGPT:

"指向"という言葉は、日本語における漢語としての用途では、「向かう」または「目指す」といった意味を持つ接尾辞として使われます。この言葉は元々、「〜に向かう」や「〜を目指す」といった形で使われていました。

一方、コンピュータ科学やプログラミングの文脈では、特定の設計パラダイムやプログラミングスタイルに対する強調やフォーカスを表現するために、「指向」という言葉が用いられています。

ただし、この「指向」が直接的に何か特定の語源を持つわけではなく、その用途や意味は文脈や使用状況によります。したがって、「オブジェクト指向」、「機能指向」、「コンポーネント指向」などの表現は、それぞれのプログラミングスタイルやパラダイムが追求または目指している特性や目標を示しています。

You:

思考とは違いますか

ChatGPT:

はい、日本語における「指向」と「思考」は、それぞれ異なる概念を指します。

「思考」は、人間が頭を使って情報を処理し、問題を解決したり新しいアイデアを生み出したりするプロセスを指します。これに対して「指向」は、ある特定の方向性や目標、または焦点について言及するための接尾辞であり、特にプログラミングやソフトウェア開発の文脈でよく使われます。

したがって、「指向」が特定の設計パラダイムやプログラミングスタイルに焦点を当てることを指す一方で、「思考」はより一般的な意味合いで、情報の処理やアイデアの生成などの脳の活動を指します。このため、「オブジェクト指向」や「機能指向」のような表現は、特定の設計哲学やプログラミングのアプローチを指すために使われます。

まとめ

指向 = 特定の設計哲学やプログラミングのアプローチに焦点を当てる

Discussion