Skip to content

フェーズ 2 – オブジェクト指向プログラミング (2~3ヶ月)

Classes, Objects, Attributes, Methods

  • クラス構造
  • オブジェクトのインスタンス化
  • thisの使用
  • ベストプラクティス:命名、コードの整理

Encapsulation, Inheritance, Polymorphism, Abstraction

  • Encapsulation: private、getters/setters、検証
  • Inheritance: extends、overriding (@Override)
  • Polymorphism: サブタイプ、method overloading
  • Abstraction: 概要、インターフェースと抽象クラスの準備

InterfacesとAbstract Classes

  • Interfaces: implements、default methods
  • Abstract classes: 抽象メソッドと具象メソッド
  • インターフェースと抽象クラスの違い

Constructors, Initializers, Static Blocks

  • デフォルトおよびパラメータ付きコンストラクタ、this()での呼び出し
  • 初期化ブロック({})およびstaticブロック(static {})

Enumerations

  • enumの作成と使用
  • enum内のメソッドと属性

基本的なCollections

  • ArrayList: 追加、削除、イテレーション(for、forEach、Iterator)
  • HashMap: key-value、一般的な操作
  • HashSet: 重複の排除
  • QueueとStackの紹介(例: LinkedListをqueue/stackとして使用)
  • Java Collections Frameworkの紹介

基本的なアルゴリズム

  • 線形探索と二分探索
  • Sorting: Bubble Sort、Collections.sort()
  • Recursion: 概念と簡単な例(例: 階乗、フィボナッチ)
  • 複雑度の紹介(O(n)、O(log n))

Generics

  • 構文()、ジェネリックコレクション、ジェネリックメソッド
  • Bounds(extends、super)

Stream API(導入)

  • 基本操作: filter、map、collect
  • ArrayListを使用した例

Unit Testing(導入)

  • JUnitの基本的な使用
  • クラスとメソッドのテストケースの作成
  • TDD(Test-Driven Development)の紹介

最終プロジェクト

  • ライブラリシステム
  • クラス: Book、User、Library
  • 継承: DigitalBookとPhysicalBook
  • コレクション: 書籍用のArrayList、貸出用のHashMap
  • Encapsulation: データ検証
  • Git: 機能ごとのcommit(例: feature/book-management
  • GitHubに公開し、説明的なREADMEを付ける

更新されたリソース