Javaプログラムの種類一覧10選とJavaクラスの種類7つ
最終更新日:2026年8月5日
Javaとは
Java(ジャヴァ)は、コンピュータに様々な処理を行わせることができるプログラミング言語の種類の一つで、Android上やWeb上で動作するアプリケーションの多くがJavaで記述されています。
また、「マイクラ」の略称で知られ様々なハードでリリースされている人気ゲームMinecraft(マインクラフト)も、PC版はJavaで作られており、「Java Edition」という名前がつけられています。
文法はC言語・C++言語によく似ていて、多くの機能がC/C++から影響を受けていますが、それらの欠点が改良されている部分もあります。
Java言語の歴史
Javaは1990年代にサン・マイクロシステムズ社によって開発された言語です。この時代は家電製品にソフトウェアが使われるようになり始めた時代で、Javaは家電に内蔵するマイコン向けのプログラミング言語として開発されていました。
次々に出る新しいハードウェアに対応できるように、Javaはハードウェアの種類に依存しないソフトウェア開発プロセスと位置づけられ、一度プログラムを書いてしまえばどんな環境でも動作するように作られました。
その後、非常に人気の高いプログラミング言語の一つとして現在でも多くの開発者に支持されています。2026年現在も、金融・製造・Web分野での求人需要は安定しており、特に大規模システム開発でのニーズが継続しています。
Javaプログラムの種類10選(早見表)
| 種類 | フルネーム | 用途・特徴 |
|---|---|---|
| Java EE | Java Platform, Enterprise Edition | 大規模サーバー・Webアプリ構築用 |
| Java SE | Java Standard Edition | 基本・汎用機能。Javaの土台 |
| Java ME | Java Platform, Micro Edition | 小型デバイス・IoT向け軽量実行環境 |
| JavaBeans | JavaBeans | 再利用可能なコンポーネント仕様。データカプセル化 |
| JSP | JavaServer Pages | HTMLにJavaを埋め込んで動的Webページ生成 |
| JavaScript | JavaScript | Javaとは別言語。ブラウザ上で動作するフロントエンド言語 |
| JDK | Java Development Kit | Java開発に必要なツール一式(コンパイラ等) |
| JRE | Java Runtime Environment | Javaアプリを動かすための実行環境 |
| JVM | Java Virtual Machine | Java仮想マシン。マルチOS対応の鍵 |
| JDBC | Java DataBase Connectivity | JavaからDBにアクセスするための標準API |
各Javaプログラムの詳細
Javaプログラムの種類1:Java EE
Java EEは、「Java Platform, Enterprise Edition」の略で、大規模サーバー構築用プラットフォームの一種です。
内容は後述するJava SE(Java Standard Edition)にサーバーサイドの機能や大規模システム向けの高度な機能を追加したものとなっています。
Java EEを使うことで、Webアプリケーション、Webサイトの構築をすることができるようになります。
Javaプログラムの種類2:Java SE
Java SEは「Java Standard Edition」の略で、Javaの基本的で汎用性の高い機能がひと纏まりになっています。Javaでプログラミングをする際最低限必要になる機能が入っているので、これからJavaで何かを開発しようとしている人はきっとJava SEのお世話になるでしょう。
また、パソコン向けなどの標準的なJVM(Java仮想マシン)はJava SEの仕様で動作します。そのためAndroid向けアプリケーションの開発にはJava SEの導入が必須となります。
Javaプログラムの種類3:Java ME
Java MEは「Java Platform, Micro Edition」の略です。
その名の通りJavaプログラムの中でもかなり軽量です。小型デバイス向けのアプリケーション構築を想定した開発環境で、非常にコンパクトな仮想マシンが核となっているので、メモリやCPUパワー、電源容量の限られるデバイスでも利用できます。
Javaプログラムの種類4:JavaBeans
JavaBeansは、Java言語で再利用可能な部品(モジュール)化されたプログラムを作るための仕様のことです。
データを保存する倉庫のようなもので、主にWebアプリでデータの操作を行う時によく使われています。JavaBeans内に保存したデータはprivateなデータになるため、あとから意図しない書き換えをされることを防ぐことができます。
外部からデータの内容を保護することはカプセル化と呼ばれています。
Javaプログラムの種類5:JavaServer Pages
JavaServer Pages(JSP)はサーバー上で動作させるJavaのプログラムのことで、HTMLで記述されたWebページ内に「<%」と「%>」で囲んで埋め込むという形でプログラムを記述することができます。
Javaプログラムで書き込まれた内容をWebサーバー上で実行することで、プログラムの内容を反映したページを動的に生成しクライアントに返すことができます。
Javaプログラムの種類6:JavaScript
JavaScriptはJavaとは異なるプログラミング言語の一つで、Webサイト・Webアプリなどに幅広く使われています。他の言語との違いとして、HTMLとJavaScriptを組み合わせることで、サーバーに処理内容を送らずともブラウザだけで動的な表現をすることが可能です。
元々Javaとは関係のない言語でしたが、開発元のネットスケープコミュニケーションズとサン・マイクロシステムズが業務提携していた縁で、この名前が採用されました。ですので文法などはあまりJavaと似通ってはいません。
Javaプログラムの種類7:JDK
JDKは「Java Development Kit 」を略した名称で、Javaを用いてアプリケーション開発するための必要最低限なソフトウェアを一つにまとめたソフトウェア開発環境キットおよび開発環境です。コンパイラ、デバッガ、アーカイバなどがこの中に含まれます。
JDKに対して、先ほど紹介したJava SE、EE、MEはSDK(ソフトウェア開発キット)と呼ばれます。
Javaプログラムの種類8:JRE
JREは「Java Runtime Environment」の略で、Javaのアプリケーションを動作させるために必要なソフトウェア群のことをいいます。
Javaのソースを実行する上で、JREは必ず必要になります。そのためJavaで開発されたアプリケーションをインストールした際、それに付随して一緒にインストールされることが多いです。
Javaプログラムの種類9:JVM
JVM(Java Virtual Machine)は先程述べたとおり、Javaの仮想マシンのことです。一般にプログラミング言語のコンパイラはWindowsやMac, linuxなどのOSごとに違うものが使用されるため、書いたプログラムは特定の環境でしか動かすことができません。
しかし、このJVMがプログラムを、それぞれのOSが理解できるバイナリコードに変換することで、どのようなOSの環境下でもJavaのプログラムを動作させることができるのです。
Javaプログラムの種類10:JDBC
JDBCは「Java DataBase Connectivity」の略で、Javaプログラムからデータベース管理システム(DBMS)を操作するための標準インターフェース(API)のことです。
JVMと同じ様に、プログラムとDBMSとの間をJDBCに経由させることで、DBMSの種類による仕様の違いに影響されることなく、簡単にデータベースにアクセスできるようになります。
Javaクラスの種類7つ(早見表)
| クラスの種類 | 特徴・用途 |
|---|---|
| インターフェース | メソッドの仕様のみ定義。仕様と実装を分離する目的 |
| 抽象クラス | それ自身ではインスタンス生成不可。継承して使う「設計図の設計図」 |
| ラッパークラス | プリミティブ型をオブジェクトとして扱うためのクラス |
| 内部クラス(インナークラス) | クラスの中に定義されるクラス。コードをシンプルに整理できる |
| ファイナルクラス | 継承不可のクラス。親クラスの安全性を保護 |
| コレクション | 大量データをまとめるオブジェクト(ArrayList・HashSet等) |
| クラス型変数 | クラスを利用した変数。値の操作メソッドを持つ(Integer等) |
各Javaクラスの詳細
Javaでプログラミングをする上で、「オブジェクト指向」という概念を知っておく必要があります。
Javaにおけるオブジェクト指向は、プログラムの中で「クラス」という変数やメソッド(関数)などを含む設計図のようなものを作っておき、必要に応じてその設計図をもとにしたオブジェクト(「インスタンス」と呼ばれます)を作成するというものです。
また、一度作ったクラスの機能を継承した別のクラスを作ることもできます。これもオブジェクト指向の特徴です。
Javaクラスの種類1:インターフェース
interface(インターフェース)は、メソッドの仕様(戻り値、メソッド名、引数)だけを定義したクラスで、実際の処理内容は持ちません。そのため、実際使う時はメソッドなどの具体的な内容を書いた別のクラスを作成する必要があります。
何のためにこのようなものが必要なのかというと、仕様と実装の内容を分離するためです。
大人数での開発を行う際、仕様(約束事)が決まっていれば、具体的な実装方法を知らないでもそのクラスを使うことができますし、仕様さえ守っていれば実装方法を書き換えても問題ないというメリットがあるのです。
Javaクラスの種類2:抽象クラス
抽象クラスとは、それ自身ではインスタンスを生成できないクラスのことをいいます。抽象クラスに記述された内容を継承したクラスは、インスタンスを生成することができます。いわば、抽象クラスは設計図の設計図のようなものです。
これは、似たようなクラスを大量に作る必要がある時に便利です。
例えば、ゲームで敵キャラのクラスを大量に作るとします。キャラには体力や攻撃力、防御力などのパラメーターがありますが、全てのクラスにこのパラメーターを一つ一つ設定するのは面倒です。
そこで、「敵キャラ」という抽象クラスを作成してこれを継承した「敵1」「敵2」「敵3」…というクラスを作って、それぞれ違うパラメーターのみをクラスの中に書いておけば、同じ内容のパラメーターを何度も設定する手間が省けるのです。
Javaクラスの種類3:ラッパークラス
ラッパークラスはオブジェクト指向において、他のクラスや外部のプログラムなど、オブジェクトではない要素をオブジェクトとして扱いたい場合に使用されるクラスのことです。
「wrapper」は包装、包み紙という意味で、オブジェクトではない要素(int型の値など)を「メソッド」など必要なものと一緒に包んでオブジェクトの形にしてしまう、という意味で使われています。
Javaクラスの種類4:内部クラス
内部クラスはインナークラスとも呼ばれる、クラスの中に定義されるクラスのことです。
内部クラスを使うことで、それぞれのクラス間の関係が分かりやすくなり、シンプルなコードになります。また、内部クラスはprivate、publicなどといったアクセスレベルを指定することもできるので、クラスの外部から存在を隠すこともできます。
なお、内部クラスを持つクラスのことは外部クラスと呼ばれます。
Javaクラスの種類5:ファイナルクラス
一度作ったクラスを継承して、新たに機能を追加した別のクラスを作ることができることは前述しました。
ですが、クラスにfinalという文字を追加すると、このクラスは継承できなくなります。これをファイナルクラスといいます。
こうすることで、このクラスを継承した別のクラスによって親クラス(元のクラス)で宣言された値が変わるようなことがなくなるため、親クラスの安全性を保つことができます。
Javaクラスの種類6:コレクション
Javaを使う上で便利なのがCollection(コレクション)です。コレクションは、沢山のデータを一つのユニットにまとめたオブジェクトだと考えてください。
コレクションにはArrayListやHashSetなどといった種類が存在します。ArrayListはあるデータ型のデータを大量に保存できる、C言語の配列に近いオブジェクトです。また、HashSetは基本的にArrayListと似ているものの、データが重複しないという特徴を持ったコレクションです。
データを配列ではなくクラスであるコレクションに保存することで、コレクション内の要素の数をカウントして返したり、コレクション内に指定の要素があるかといった情報を、メソッドから得ることができるというメリットがあります。
Javaクラスの種類7:クラス型変数
C言語などを勉強したことがある方であれば「int」や「char」や「float」など、数字、文字データの入れ物である変数について知っているかもしれません。これらの変数(データ型)は「プリミティブ型」と呼ばれます。
それに対してクラス型変数とは、クラスを利用した変数のことです。前述の変数には「Integer」「Character」「Float」が対応します。
クラス型変数を使うことで、値を保持するだけでなく、数値を文字列に変換したり整数を小数に変えたりなど、保持している値を自由に操作できるようになります。
Javaコードサンプル
基本クラス定義とインスタンス生成
// クラス定義の基本例
public class Car {
// フィールド(属性)
private String name;
private int speed;
// コンストラクタ
public Car(String name, int speed) {
this.name = name;
this.speed = speed;
}
// メソッド
public void drive() {
System.out.println(name + " が時速 " + speed + " km で走行中");
}
}
// メインクラスでインスタンス生成
public class Main {
public static void main(String[] args) {
Car myCar = new Car("Tesla", 120);
myCar.drive(); // 出力: Tesla が時速 120 km で走行中
}
}
インターフェースの実装例
// インターフェース定義
public interface Animal {
void speak(); // 仕様のみ定義(実装なし)
}
// インターフェースを実装するクラス
public class Dog implements Animal {
@Override
public void speak() {
System.out.println("ワンワン!");
}
}
public class Cat implements Animal {
@Override
public void speak() {
System.out.println("ニャーニャー!");
}
}
ArrayListを使ったコレクションの例
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
ArrayList<String> nameList = new ArrayList<>();
// 要素を追加
nameList.add("田中");
nameList.add("佐藤");
nameList.add("鈴木");
// 要素数を確認
System.out.println("人数: " + nameList.size()); // 3
// 繰り返し処理
for (String name : nameList) {
System.out.println("名前: " + name);
}
}
}
Java言語が就職に役立つ理由
Javaは先程も述べたとおり、大規模のシステムからWebサービス、アプリ・ゲーム開発、家電製品に至るまで幅広い分野で使われている汎用性の高い言語です。そのためJavaを使えることによっていろいろな企業で活躍できるチャンスが増えるといってもいいでしょう。
プログラミング言語別の求人数を見ても、他の言語と比較して常にJavaが上位に位置しており、ニーズが安定していることが伺えます。2026年現在も金融・保険・製造業の基幹システム開発でのJavaエンジニア需要は高く、年収も500〜700万円程度と高水準が続いています。
よくある質問(FAQ)
- Q1. JavaとJavaScriptは何が違うのですか?
- JavaとJavaScriptは全く別の言語です。Javaはサーバーサイド・Androidアプリ開発などに使われる汎用プログラミング言語で、JavaScriptはWebブラウザ上で動作するフロントエンド言語です。名前が似ているのは歴史的な経緯によるものであり、技術的には大きく異なります。
- Q2. Java EEとJava SEの違いは何ですか?
- Java SEはJavaの基本機能をまとめたもので、Javaプログラミングの土台です。Java EEはJava SEにサーバーサイド・大規模システム向けの機能を追加したものです。個人の学習や小規模開発にはJava SE、企業向け大規模Webシステム開発にはJava EEが必要になります。
- Q3. JDK・JRE・JVMの違いを教えてください。
- JVM(Java Virtual Machine)はJavaプログラムを動かす仮想マシン、JRE(Java Runtime Environment)はJVMを含むJavaの実行環境です。JDK(Java Development Kit)はJREに加えてコンパイラ・デバッガなどの開発ツールをまとめたキットです。Javaで開発を行うには必ずJDKが必要です。
- Q4. Javaを学ぶには何から始めれば良いですか?
- まずJDKをインストールして開発環境を整え、Java SEの基本文法(変数・条件分岐・繰り返し)から学ぶのが定石です。次にオブジェクト指向(クラス・インスタンス・継承)を学び、その後ArrayListやHashMapなどのコレクション・例外処理へと進みます。ProGate・Udemy・書籍など学習教材は豊富にあります。
まとめ
- Javaはマルチプラットフォーム対応の汎用プログラミング言語。JVMがどんなOSでも動作を可能にする
- Javaプログラムの種類は10種(Java SE/EE/ME、JavaBeans、JSP、JavaScript、JDK、JRE、JVM、JDBC)—用途に応じて使い分ける
- Javaクラスの種類は7つ(インターフェース・抽象クラス・ラッパー・内部クラス・ファイナル・コレクション・クラス型変数)
- JavaとJavaScriptは別の言語。名前の類似は歴史的経緯によるもので、文法・用途とも大きく異なる
- Java開発には「JDK > JRE > JVM」の3層構造の理解が必須
▼ アクロビジョンについて


