スライドショー

【Java入門】構造体をクラスで代替する方法

JavaではC言語のような構造体を宣言、定義することはできません。

ですので、クラスで代替することが多いです。

そこでこの記事では、構造体をクラスで代替する方法について


・構造体とは?
・構造体をクラスで代替
・構造体配列の扱い方

など、基礎的な内容から応用的な内容についても解説していきます。

今回は構造体をクラスで代替する方法について、わかりやすく解説します!

構造体とは?

構造体とは、ある対象に関連する項目をまとめて1つのかたまりにしたものです。

同じように項目をまとめて1つのかたまりにしたものに配列があります。

ただし、配列の場合は同じ型のモノしか1つのかたまりにできません。

構造体はint型や文字列など型の違うモノでも1つのかたまりにできます。

構造体はC/C++、C#などで使用することができます。

しかしJavaには構造体はありません

クラスで代替することが多いです。

構造体をクラスで代替

クラスでコンストラクタやメソッドを定義ぜずに、C言語の構造体のように扱うことができます。

サンプルコードで確認しましょう。

class Info {
    String name;
    int age;
}

public class StructSample {
    public static void main(String[] args) {
        Info info = new Info();
        info.name = "Taro Yamada";
        info.age = 30;

        System.out.println(info.name + ", " + info.age);
    }
}

実行結果:

Taro Yamada, 30

構造体配列の扱い方

構造体を代替するクラスを配列の要素として扱うこともできます。

サンプルコードで確認しましょう。

class Info {
    String name;
    int age;
}

public class StructSample {
    public static void main(String[] args) {
        Info[] arr_info = new Info[3];

        // 各要素ごとにインスタンス化
        for(int i = 0; i < arr_info.length; i++) {
            arr_info[i] = new Info();
        }

        arr_info[0].name = "Taro Yamada";
        arr_info[0].age = 30;

        arr_info[1].name = "Hanako Sato";
        arr_info[1].age = 20;

        arr_info[2].name = "Ichiro Yamamoto";
        arr_info[2].age = 40;

        System.out.println(arr_info[0].name + ", " + arr_info[0].age);
        System.out.println(arr_info[1].name + ", " + arr_info[1].age);
        System.out.println(arr_info[2].name + ", " + arr_info[2].age);
    }
}

実行結果:

Taro Yamada, 30
Hanako Sato, 20
Ichiro Yamamoto, 40

配列arr_infoを宣言するだけでは不十分で、各要素ごとにインスタンス化する必要があるので、注意してください。

まとめ

今回は構造体をクラスで代替する方法について解説してきましたが、いかがでしたか?

構造体とは、ある対象に関連する項目をまとめて1つのかたまりにしたものです。

C言語などとは違ってJavaでは使用できませんが、クラスで代替することも多いです。

使いこなせるように、この記事を何度も参考にして下さいね!

LINEで送る
Pocket

無料でSEからWebエンジニアへ転職しませんか?



侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、

  • システムエンジニアという職業だけどコードが書けない
  • 事務作業が多くスキルがないため将来が不安
  • スクールに通うと完全未経験者と同じスタートになるからレベルが合わない
という、すでに知識があるSEならではのお悩みがあることに気づきました。そんな方におすすめなのが、弊社の「転職コース 」です。

弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。さらにこちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。

既に知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。

まずは無料体験レッスンを予約する

書いた人

長野 透

長野 透

熊本在住のフリープログラマ兼ライターです。C/C++/C#、Java、Python、HTML/CSS、PHPを使ってプログラミングをしています。専門は画像処理で最近は機械学習、ディープラーニングにはまっています。幅広くやってきた経験を活かしてポイントをわかりやすくお伝えしようと思います。
お問合せはこちらでも受け付けています。
[email protected]

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説