ゼロから学ぶJava
トップ/クラスとオブジェクト
クラスとオブジェクト

フィールドとメソッド

5分で読めます26

この章で学ぶこと

クラスを構成する「フィールド」と「メソッド」について改めて整理しましょう。現実のものをクラスで表現する感覚を身につけましょう。

フィールドとメソッドをおさらいする

クラスは「フィールド」と「メソッド」の2つから構成されます。

  • フィールド:そのクラスが持つデータ(状態)
  • メソッド:そのクラスが持つ機能(できること)

「人間」をクラスで表すとしたら、次のようになります。

要素
フィールド名前、年齢、身長
メソッド歩く、話す、食べる

実際にクラスを作って動かしてみよう

「銀行口座」を表すクラスを作ってみましょう。

コードの中に +=-= という書き方が登場します。これは複合代入演算子といい、balance += amountbalance = balance + amount の短縮形です。「balanceにamountを足して、balanceに上書きする」という意味です。同様に balance -= amountbalance = balance - amount と同じです。

java
1class BankAccount {
2 String owner;
3 int balance;
4
5 void deposit(int amount) {
6 balance += amount;
7 System.out.println(amount + "円を入金しました。残高:" + balance + "円");
8 }
9
10 void withdraw(int amount) {
11 if (balance >= amount) {
12 balance -= amount;
13 System.out.println(amount + "円を出金しました。残高:" + balance + "円");
14 } else {
15 System.out.println("残高が足りません");
16 }
17 }
18}
19
20public class Main {
21 public static void main(String[] args) {
22 BankAccount account = new BankAccount();
23 account.owner = "田中たろう";
24 account.balance = 0;
25
26 account.deposit(10000);
27 account.deposit(5000);
28 account.withdraw(3000);
29 account.withdraw(20000);
30 }
31}

実行結果:

text
110000円を入金しました。残高:10000円
25000円を入金しました。残高:15000円
33000円を出金しました。残高:12000円
4残高が足りません

フィールドとメソッドが連携する

balance というフィールドを、deposit(入金)と withdraw(出金)のメソッドが読み書きしています。

フィールドが「口座の状態」を記憶し、メソッドがその状態を変えたり確認したりする、という役割分担です。

ここまで学んできたことのまとめ

26章を通じて、Javaの基礎を一通り学んできました。

変数・型・演算子・条件分岐・繰り返し・メソッド・クラスは、すべてのJavaプログラムの土台です。

ここで学んだことを組み合わせることで、より複雑なプログラムが作れるようになっていきます。

ポイント

フィールドはクラスのデータ(状態)、メソッドはクラスの機能(できること)です。フィールドとメソッドが連携することで、現実のものをプログラムで表現できます。

まとめ

  • フィールド:クラスが持つデータ(名前、残高など)
  • メソッド:クラスが持つ機能(入金する、出金するなど)
  • フィールドとメソッドが連携して「もの」の振る舞いを表現する
  • クラス・フィールド・メソッド・インスタンスがJavaの基本的な土台

確認問題

クラスのフィールドとメソッドの組み合わせとして正しい説明はどれですか?