Javaのクラスとオブジェクト

 

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. 演習問題

  1. クラスCarを作成し、String brandint speedのフィールドを持たせ、コンストラクタとaccelerate()メソッドを実装してください。
  2. クラスStudentを作成し、名前と成績を管理するプログラムを書いてみましょう。

コメント

タイトルとURLをコピーしました