Javaのクラスとオブジェクト
1. クラスとは
Javaにおけるクラスは、オブジェクトの設計図のようなものです。クラスを定義することで、データ(フィールド)と振る舞い(メソッド)をまとめることができます。
クラスの基本構造
class Person {
String name;
int age;
void introduce() {
System.out.println("私は" + name + "です。年齢は" + age + "歳です。");
}
}
2. オブジェクトとは
オブジェクトは、クラスから作成された実体(インスタンス)です。クラスを元にして、具体的なデータを持つオブジェクトを生成できます。
オブジェクトの生成と使用
public class Main {
public static void main(String[] args) {
Person p1 = new Person();
p1.name = "太郎";
p1.age = 25;
p1.introduce();
}
}
3. コンストラクタ
コンストラクタは、オブジェクト生成時に自動的に呼ばれる特別なメソッドです。コンストラクタを定義することで、オブジェクトの初期化を簡単に行えます。
class Person {
String name;
int age;
Person(String name, int age) {
this.name = name;
this.age = age;
}
void introduce() {
System.out.println("私は" + name + "です。年齢は" + age + "歳です。");
}
}
デフォルトコンストラクタ
コンストラクタを明示的に定義しない場合、Javaは引数なしのデフォルトコンストラクタを自動生成します。
class Sample {
int num;
String text;
// デフォルトコンストラクタ(明示的に書かなくても存在)
Sample() {
num = 0;
text = "デフォルト値";
}
}
4. メソッド
メソッドは、オブジェクトの振る舞いを定義する部分です。メソッドを使うことで、クラスの機能をカプセル化できます。
メソッドの定義と呼び出し
class Calculator {
int add(int a, int b) {
return a + b;
}
}
public class Main {
public static void main(String[] args) {
Calculator calc = new Calculator();
int result = calc.add(10, 20);
System.out.println("合計: " + result);
}
}
5. アクセス修飾子
Javaのクラスやメソッドには、アクセス修飾子を付けることができます。これにより、どのクラスからアクセスできるかを制御できます。
主要なアクセス修飾子
public: すべてのクラスからアクセス可能private: 同じクラス内からのみアクセス可能protected: 同じパッケージ内またはサブクラスからアクセス可能なし(デフォルト): 同じパッケージ内からのみアクセス可能
アクセス修飾子の使用例
class BankAccount {
private int balance;
public BankAccount(int balance) {
this.balance = balance;
}
public void deposit(int amount) {
balance += amount;
}
public int getBalance() {
return balance;
}
}
public class Main {
public static void main(String[] args) {
BankAccount account = new BankAccount(10000);
account.deposit(5000);
System.out.println("残高: " + account.getBalance());
}
}
6. まとめ
クラスとオブジェクトの概念は、Javaのオブジェクト指向プログラミングの基礎となる重要な要素です。コンストラクタやアクセス修飾子を活用して、適切なクラス設計を行いましょう。
7. 演習問題
- クラス
Carを作成し、String brand、int speedのフィールドを持たせ、コンストラクタとaccelerate()メソッドを実装してください。 - クラス
Studentを作成し、名前と成績を管理するプログラムを書いてみましょう。

コメント