Java言語におけるクラスとは(1/?)


自己紹介

初めまして。しがない大学院生をやっております。またたびです。

多くの漬物石に囲まれた研究室でネットワークについての研究を行っています。

ブログを書くのが初めてなため、量、質共に拙くはなると思いますが、これからよろしくお願いします。


今回の記事を書くにあたって

今年IT業界就職した知人からJavaの基礎を教えてと言われたので、記事を書くことにしました。

同じような境遇の方の参考になれば幸いです。

また、僕がJavaを学習していく上で非常にお世話になった本をページ下の参考文献に記載しておくので、ぜひ読んでみてください。


対象読者


  • 他言語について理解があるが、Javaはあまりわからない方

  • Javaを勉強していたが途中で詰まり諦めた方


内容

今回はJavaを理解する上で欠かせない、オブジェクト指向の一部であるクラスの一部について触れていきます。

これから数日かけてクラスについて書いていくのでよろしくお願いします。


クラスとは

クラスはC言語をご存知なら、構造体に毛の生えたものくらいの認識でいいと思います。

C言語: waする、dataを

Java: dataに、waさせる

Java言語には、クラスとメソッドというものがあります。

メソッドを束ねているものがクラスになります。

今後の記事で書いていきますが、インスタンスやカプセル化といったものを用いて初めてクラスを有効活用できます。

今回の記事ではひとまずクラスが何なのかを掴んでいただければ幸いです。

クラスを用いることのメリットとして、コードの管理が容易になりやすく、可読性も上がりやすくなります。

では実際に、C言語とJava言語で作成した四則演算プログラムを比較して、クラスを用いることでコードの管理や可読性が上がることを説明していきます。


左半分C言語、右半分Java

#include <stdio.h>

#include <stdlib.h>

typedef struct calculate { public class Calculate {
int a, b; int a, b;
} *Calculate;

Calculate new_Calculate(int a, int b) { Calculate(int a, int b) {
Calculate this = malloc(sizeof(*this));
this->a = a; this.a = a;
this->b = b; this.b = b;
return this;
} }

int add(Calculate this) { int add() {
return this->a + this->b; return this.a + this.b;
} }

int main(int argc, char *argv[]) { public static void main(String[] args) {
Calculate data = new_Calculate(123, 456); Calculate data = new Calculate(123, 456);
printf("%d\n", add(data)); System.out.printf("%d\n", data.add());
} }
}


C言語は四則演算を関数としてばらばらに定義していますが、Java言語ではkeisanという1つのクラスにまとめて記述することができます。

ここに商の余りを求めるプログラムを記述したい場合、C言語では更に関数を追加しなければなりません。

しかしJava言語では、keisanクラスに追記すればよいのです。

このようにクラスを用いることで、どこにどのようなプログラムがあるのかがわかりやすくなります。

つまり、コードの管理がしやすくなり、可読性があがることに繋がります。

大規模で複雑なプログラムになればなるほど、この差は顕著に表れてくることになります。

Javaプログラムに記述してある、publicやstaticについては今後の記事で書いていきます。今は読み流しておいてください。


終わりに

初めてブログを書いてみましたがとても大変。。。

慣れてどんどん分量と質を上げていこうな!!!

ということで目標はGW中毎日記事を上げることです。頑張ります。

今回の記事に対して間違いがあればご指摘頂けると幸いです。

明日は別クラスの呼び出しについて記述していこうと思います。

もしよければ明日もお付き合いください。

ここまで読んでくださり、ありがとうございました。


参考文献

スッキリわかるJava入門 第2版 (スッキリシリーズ)