Javaには構造体がないのでクラスで代用するしかない

注意: この記事は1年以上前に掲載されたものです。情報が古い場合がありますのでお気を付け下さい。

C言語からプログラミングを始めた場合、Javaのプログラミングの学習を行った際に時折遭遇するものとして、「Javaで構造体を表現したい時はどうすればいいのか」という問題がある。Javaでは構造体がないので、クラスで代用するという方法がある。

C言語では以下のような構造体を定義できる。

このような構造体は、Javaでは直接表現することができない。したがって、クラスで代用することになる。

オブジェクト指向の理念上、基本的にはアクセサを使用することが求められるため、上記の構造体をJavaで表現する場合は以下のようになる。

ただ、この場合は意味合い的には目的を果たしているのだが、コードの記述量が多くなるということと、メソッドで変数の取り出しと代入をする必要があるなど、C言語のように簡潔な記述を行えないという問題があるため、Javaの理念からは逸脱するが、以下のような書き方をすることもできる。

この場合は、C言語の構造体のように変数の代入が行えるようになる。

上記のいずれかの方法が考えられるが、いずれも利点と問題点があるため、よく考えた上で最適なものを選ぶと良いだろう。

ウェブマスター。本ブログでITを中心にいろいろな情報や意見などを提供しています。ご用の方はコメントかコンタクトフォームにて。
スポンサーリンク

フォローする