見出し画像

【Java】オブジェクト指向とは|プログラミング勉強記録

Java(ジャバ)は、汎用プログラミング言語とソフトウェアプラットフォームの双方の総称。プログラミング言語『Java』は、C++に類似の構文、クラスベースのオブジェクト指向、マルチスレッド、ガーベジコレクション、コンポーネントベース、分散コンピューティングといった特徴を持つ。

Java仮想マシン【JVM】は各プラットフォーム環境間の違いを吸収しながら、Javaプログラムの適切な共通動作を実現する機能を備えている。このテクノロジーは「write once, run anywhere」と標榜されていた。

オブジェクト指向によるJava

『write once, run anywhere(日本語訳:一度書いたら、どこでも実行)』

【プログラム】Javaの特徴

Javaはどんなコンピュータでも使える

Javaの最大の特徴は「JVM(Java Virtual Machine:Java仮想マシン)」で動いていること。Java仮想マシンとはその名前の通り、Javaのために擬似的に作り出されたマシン。このマシン上で、Javaは動作する。Javaは、Java仮想マシンが動作するコンピュータならどんなコンピュータ上でも利用できる。まるで、Java仮想マシンは「コンピュータ本体との通訳者のようなもの」であり、通訳さえいれば世界中どこへでも自由に旅に行けるのと同じである。OSがMacでもWindowsでもLinuxでもOK。どんな環境でもJavaは動作する。

オブジェクト指向で作られている

レイアウト、組み立て、連結(Hub)_資料

Javaを使ってプログラムを作るには、どんな小さなものでも「オブジェクト指向」という考え方が必要になる。オブジェクト指向とは、モノ(オブジェクト)同士を関係させ、組み立てていくプログラミングの考え方のこと。※積み木のような考え。

また、Javaにはオブジェクト指向型の言語かつOSに依存しないという特徴がある。実行環境が自由なこと・セキュリティ性が高いこと・処理速度が速いことのもメリットの1つである。

処理速度が速い

コンパイル(処理転換)_資料

処理速度が速い理由は、Javaがコンパイラ言語に分類されるためです。プログラムを実行するにはコンパイル(処理転換)という、プログラミングを機械が理解できるように変換する作業が必要となる。Javaの場合、前もってコンパイルを行うためコンパイル分の時間が短縮することが可能。

※コンパイル(英:compile)とは 人間が分かる言葉で書いたプログラムの元ネタ(ソースコード)の中身をコンピュータさんが分かる言葉に翻訳すること。他の場合は機械語から日本語や英語などに翻訳。機械語からコンピュータに翻訳など。

【プログラム】「オブジェクト指向(object-oriented)」について

「オブジェクト指向(object-oriented)」という言葉を最初に提唱したのは、Smalltalkというオブジェクト指向環境を発明した者からだと言われている。パーソナルコンピュータの生みの親であり、スクラッチを作った人物でもある。

子供向けプログラミングアプリ『mBlock』_資料
子供向けプログラミングアプリ『mBlock』_資料その②
子供向けプログラミングアプリ『mBlock』_資料その③
子供向けプログラミングアプリ『mBlock』_資料その④

開発者が最も熱心に取り組んでいたのはコンピュータを使った子供の教育で、プログラミングを子供に教えることによって、ソフトウェアを自身の問題に合わせて自在に変更出来るようにし、より高い問題解決能力を得ることを目指していた。

オブジェクト指向とは、「ある役割を持ったモノ」ごとにクラス(プログラム全体の設計図)を分割し、モノとモノとの関係性を定義していくことでシステムを作り上げようとするシステム構成の考え方のこと。

・オブジェクト:直訳すれば「物」「対象」という意味。プログラミングにおいてはデータと処理の集まりを意味する。

・クラス:データと処理をひとつにまとめる機能。モノ(オブジェクト)の設計書のようなもの。

・プロパティ:モノ(オブジェクト)が持っているデータのこと。(「ロゴ」「色」など。)

・メソッド:モノ(オブジェクト)が持っている処理のこと。(「走る」「曲がる」「止まる」などアクションを起こす処理のこと。)

まとめ

Javaの勉強の記録。


この記事が気に入ったらサポートをしてみませんか?