こんにちは。ユーキです。
今日はJavaの学習のロードマップについて紹介したいと思います。
ネットに出ているロードマップだと、ひと通りの開発ができるようになるまでの周辺知識に関するものまで含まれているものが多いので、純粋にJavaができると言えるレベルになるまでのロードマップについてを紹介します。
入門レベル:最低限度の文法と知識
Javaに限らず、どんな言語を学んだとしても最初に覚えるべき基本中の基本の知識となります。
Javaの文法について
以下の2つが大原則となります。他にもありますが、まず下記を押さえましょう。
- クラス、メソッドなどの処理ブロックは、「{」で始まり、「}」で終わる。
- 命令の終わりは「;」
型が分かる
Javaには「型」という概念があります。
簡単にいうと、どういうデータを扱っているかわかるようにしましょうね、という考え方ですね。文字を扱うのか、数値なのか、日付なのか、それ以外の複雑なデータなのかがわかるようにしようといことです。
最初は慣れないかもしれませんが、そんなものだという風にまずは考えてください。
変数がわかる、使える
変数とは、値を入れておくためのものです。これがないと複雑な処理は組めません。
配列がわかる、使える
1つの変数で、複数の情報を扱うために使います。配列そのものを使う場面は少ないかもしれませんが、これを応用した動的配列の基礎となる考え方となります。
条件分岐が使える(if、switch)
条件によって式を振り分けるために使います。
繰り返し処理が書ける(for、while)
同じ処理を何回か繰り返す場合に使います。
関数の宣言ができる
いくつかの処理を1つにまとめることで、簡単に使えるようにします。
基礎レベル:簡単なプログラムが作れる
入門レベルで押えておくべき知識を押さえたところで、Javaでプログラミングをやっていくうえで押さえておくべき基礎の知識となります。いわゆる「オブジェクト指向」の基本部分となります。ここまで理解できると実務でも設計書あればコーディングしていけるレベルかと思います。
クラスがわかる
Javaの本髄。すべての処理はこのクラスで作られています。クラスの定義の仕方を覚えましょう。
インスタンスが作成できる
クラスの定義の仕方がわかったら、次はインスタンスの作り方です。インスタンスがどういうものかが理解できて、はじめてJavaプログラミングのスタート地点に立ったと言えるでしょう。
変数のスコープを理解している
同一スコープ内で変数名が重複するのはNGです。スコープはどこからどこまでか理解しておきましょう。
アクセス修飾子がわかる
public、private、修飾子なしの参照範囲がどこまでかを理解して正しく指定できるようになりましょう。
中級レベル:効率よい処理が書ける
実務の実装をする上で知っておいたほうがよい情報。
staticを正しく使用できる
static修飾子を指定すると、少し性質が変わります。使い方を間違えるとバグの温床となりかねません。正しく理解するようにしましょう。
理解が難しい場合、さらっと流していただいてある程度、Javaの知識が増えてきてから振り返っても問題ありません。
例外処理を扱える
あらかじめ予想できるイレギュラーケースへの対応を考えることは、実務では重要です。そのための例外処理についてはきちんと押さえておきましょう。
コレクション
配列を動的に扱うクラスがJavaにはいくつかあります。総称でコレクションと呼びますが、どういう種類があって、どういう使い方をするかは知っておくと、できることの幅が広がります。
Java APIのリファレンスを知ってる
Javaにはよく使うであろう一般的な処理は、APIとして提供されています。
提供されているリファレンスは、ウェブサイトにも記載をされており、どういう引数を取得するのか、戻り値の型はなにか、どういった例外を返すかなどリファレンスがあります。
このリファレンスの存在と使い方は知っておきましょう。
上級レベル:たいていのものは作れる
継承
継承のメリットを理解し、正しく使える。ここの理解がないと既存コードを正しく読むことができないです。まずは簡単なルールだけきちんと押さえましょう。
オーバーロード、オーバーライド
既存コードを読んでいくうえで必要です。また、読みやすいコードを書くためにも知っておいたほうがよい知識となります。
スレッドがわかる
これが最難関です。Web系のシステムをやる場合、しっておかないととんでもないことになるので、注意ポイントだけはしっかり押さえておきましょう。
最後に
ここまで見てきて、お気づきの方がいるかもしれません。
必要な知識を並べてみると、本の目次みたいになるんです。つまるところ、プログラミング勉強をしようと思ったら、入門書を1冊購入して勉強すれば、一通りの知識が身に付きます。
ネットでもスクールでもいいですが、まずは自分が理解できそうと思う入門書で勉強を始めてから、ネットなりスクールを利用していけばよいと思います。