SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Cでわかるオブジェクト指向

【第1回】オブジェクトとクラス


  • このエントリーをはてなブックマークに追加

 C言語をメインの開発言語とする組込み開発の世界でも、オブジェクト指向の考え方に基づいてデザインされたフレームワークやライブラリなどに触れる機会が増えています。本稿では、具体的なC言語のコードを用いながらオブジェクトやメッセージ、クラスといったオブジェクト指向の基本的な概念を解説します。

  • このエントリーをはてなブックマークに追加

はじめに

 昨今では、C言語をメインの開発言語とする組込み開発の世界においても、システムの複雑化や巨大化、オープンソースソフトウェアの利用の拡大などに伴い、オブジェクト指向の考え方に基づいてデザインされたフレームワークやライブラリなどに触れる機会が増えています。そうした現状を踏まえ、本連載ではオブジェクトやメッセージ、クラスといったオブジェクト指向の基本的な概念を、組込み技術者向けにC言語を用いて解説していきます。特に、次のような方を主な読者対象と考えています。

  • オブジェクト指向を勉強しようと思っているCプログラマ
  • 現場でオブジェクト指向が導入されたが、オブジェクト指向が何なのかイマイチわからないCプログラマ
  • 現場で利用しているオブジェクト指向をベースとしたフレームワークやライブラリの設計思想を理解したいと思っているCプログラマ

オブジェクト指向はなぜ敷居が高いのか

 組込み開発の現場の方に対してオブジェクト指向の勉強会などを開くと、「オブジェクト指向は難しそう」「何となくわかるけど、自分では使えない」「具体的なコードのイメージが湧かない」といった意見を聞きます。総じて、オブジェクト指向は敷居が高いと思われているようなのですが、いったいなぜでしょう。

 今日、一般的に「オブジェクト指向」という言葉が指すものは、「オブジェクト指向プログラミング(Object Oriented Programming:OOP)」「オブジェクト指向分析/設計(Object Oriented Analysis:OOA、Object Oriented Design:OOD)」のいずれか、もしくは全部を指します(図1)。しかし、OOPとOOA/OODは、同じような事柄を扱いつつも、実は異なる次元での物の考え方です。また、それぞれが相応の規模の背景や内容、応用技術を含んでいます。そういったものを一口に「オブジェクト指向」と言っていることが、オブジェクト指向の理解を難しくし、オブジェクト指向の敷居を高くしてしまっている要因の1つであると筆者は考えています。

図1:オブジェクト指向の定義
図1:オブジェクト指向の定義

 なお、本稿ではプログラマである皆さんがオブジェクト指向をイメージしやすいように、OOPにのみ焦点を当てて解説を進めます。OOA/OODはOOPをベースに確立していったという背景があるので、OOPの理解はオブジェクト指向の全体像をとらえるための良い入り口となるはずです。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
オブジェクト指向の基本−オブジェクト

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
Cでわかるオブジェクト指向連載記事一覧

もっと読む

この記事の著者

島田 浩二(Ruby札幌)(シマダ コウジ)

1978年生まれ。電気通信大学電気通信学部情報工学科卒業後、メーカ系ソフトウェア会社にて携帯電話の開発業務に従事した後、2006年より札幌にてフリーのプログラマとして活動。2009年7月に株式会社えにしテックを設立し、同社代表取締役に就任。 日本Rubyの会理事、一般社団法人LOCAL理事、Ruby札幌主宰。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/3706 2009/03/17 12:59

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング