강의

멘토링

로드맵

Inflearn brand logo image
BEST
Programming

/

Programming Language

エフェクティブJava完璧攻略パート2

Java学習の終盤王「エフェクティブJava」をより簡単で完璧に学習しましょう。この講義を受講すると、Javaプログラミングの知識とスキルだけでなく、学習能力も向上します。

  • whiteship
자바
이펙티브자바
백엔드개발자
자바입문
Java

学習した受講者のレビュー

こんなことが学べます

  • クラスとインタフェースを使いやすく、頑丈で柔軟にする方法

  • ジェネリックの利点を活かし、欠点を最小限に抑える方法

マイクロソフトシニア開発者、白機線
深さが格別なエフェクティブJava 🚢

Javaの勉強の終わり、エフェクティブJava。

Effective Java ?

すべてのJava開発者が一度勉強しようとしましたが、
決して誰も征服できない本、 「エフェクティブJava」
この講義が完全に攻略します。


高レベルのバックエンド開発者
なりたいあなたのため。

『エフェクティブJava 3/E』は、すべてのJava開発者にお勧めの本ですが、逆説的には、すべてのJava開発者が簡単に学習できる本ではありません。最初のアイテムから正しく消化するには、「列挙型」、「フライウェイトパターン」、「インタフェースの静的メソッド」、「サービスプロバイダフレームワーク」、「リフレクション」という背景知識が必要です。このような背景知識なしに本の内容を100%理解するのは難しいです。それだけ学習しにくい本ですが、一つずつ学習をしたときに続く報酬も格別です。

『エフェクティブJava』の内容を理解すれば、皆さんの実力と知識は以前に比べて大幅に向上し、新たな視界を明らかにしてくれます。他のプログラミング言語を勉強したり使用したりしても。 (まるでこの本を一生懸命勉強していましたが、今はマイクロソフトでC#とPowershellを使って働いている今の私のようですね。)


シリーズに挑戦する
エフェクティブJava完璧攻略

エフェクティブJava完璧攻略 - Part 2 シリーズ連載中

『エフェクティブJava』を計5部に分けて学習します。第2部に該当するこの講義は『エフェクティブJava』第4章「クラスとインターフェース」と第5章「ジェネリック」を取り上げます。

『エフェクティブJava』学習を困難にする開発者や学生や、より完全に学習したい方のために、各アイテムをコードとともにまとめ、各アイテム別に学習するのに役立つ背景知識をお届けします。皆さんの『エフェクティブJava』学習がはるかに面白く、簡単で、またお得です。

Javaの深化学習が必要な方へ。

この講義はプログラミング初心者や入門者のための講義ではありません。 Javaを使って仕事をしている開発者や基本的なJava勉強を終え、よりレベルの高い深化学習を通じて実力を上げたい開発者や学生のための講義です。次の講義を受講したり、それに準ずる学習をしたら、今回の講義を聞くこともできます。 (詳細はセクション0 - 講義紹介授業を参照してください。)

必須学習コース

推奨学習コース


講義で提案する
4-Step学習順序

このレッスンでは、エフェクティブJava 2部と3部でカバーされる合計14のアイテムをカバーし、完璧な攻略のために合計30に達する背景知識を伝えます。また、エフェクティブJavaが本で書いたものだけを理解しやすくするための追加のソースコードを提供しています。推奨する学習方法は次のとおりです。

Step 1

「エフェクティブJava」を教材として購入し、アイテムを一つ先に読みます。

Step 2

「エフェクティブJava完璧攻略1部」に該当するアイテムの「核心整理」授業を受講します。

Step 3

続く「完全な攻略」レッスンを受講し、不足している部分は補足学習を続けます。

Step 4

さらに学習した部分を個人ブログにまとめて「質問回答」掲示板にリンクを残しておくとレビューをさせていただきます。


14個アイテム別完璧攻略、
学習カリキュラム📚

アイテム15.クラスとメンバーのアクセス権を最小限に抑えます。

  • 情報隠蔽
  • アクセス制限者の使用原則
  • Javaプラットフォームモジュールシステム

項目 16. public クラスでは、public フィールドではなくアクセサメソッドを使用します。

  • 内部を公開したDimensionクラスの性能問題

アイテム17.変更の可能性を最小限に抑える。

  • 不変クラス
  • 不変クラスの長所と短所
  • finalとJavaメモリモデル
  • java.util.concurrent パッケージ
  • CountDownLatch

アイテム18.継承ではなくコンポジションを使用してください。

  • 継承の欠点
  • コンポジションの利点
  • デコレーターパターン
  • コールバックフレームワークとセルフ問題

アイテム19-20。継承を考慮して設計し文書化する。そうでなかったら継承を禁止しなさい。

  • @implSpec
  • インターフェイスの利点
  • インタフェースと抽象スケルトンクラス
  • テンプレートメソッドパターン
  • デフォルトメソッドとObjectメソッド

アイテム 21. インタフェースは実装する方を考えて設計しなさい。

  • デフォルトメソッドを追加するときの注意点
  • ConcurrentModificationException

項目 22. インタフェースは型を定義する目的でのみ使用してください。

  • 定数を定義する目的でインターフェイスを使用しないでください。
  • 定数を定義する方法

アイテム23.タグ付きクラスではなくクラス階層を活用します。

  • タグ付きクラスの欠点
  • 階層を活用する

アイテム 24. メンバークラスはできるだけ static にしなさい。

  • 静的メンバークラス
  • 非静的メンバークラス
  • 匿名クラス
  • 地域クラス
  • アダプタパターン

アイテム25.トップレベルのクラスは1つのファイルに1つだけを入れます。

アイテム 26. ロタイプは使用しないでください。

  • ジェネリック用語の整理
  • パラメータ化タイプを使用する理由
  • GenericRepository

アイテム 27. 非検査警告を削除します。

  • 非検査(unchecked)警告
  • @SuppressWarning
  • アナテーション

アイテム28.配列ではなくリストを活用しなさい。

  • 共変 vs 不公変
  • @SafeVarangs

アイテム29. 異王ならジェネリックタイプにしてください。

  • 配列を使用するコードをジェネリックに変更する
  • 限定型パラメータ

アイテム30. 異王ならジェネリックメソッドで作ろう。

  • ジェネリックシングルトンファクトリー
  • 再帰的タイプ限定

アイテム31.限定的なワイルドカードを使用してAPIの柔軟性を高めます。

  • PECS (Producer-Extends, Consumer-Super)
  • ワイルドカード
  • タイプ推論

アイテム32.ジェネリックと可変引数を一緒に使うときは慎重にしなさい。

  • ジェネリック可変引数
  • ThreadLocal
  • ThreadLocalRandom

アイテム 33. タイプ安全異種コンテナを考慮しなさい。

  • タイプ安全異種コンテナ
  • タイプトークン
  • スーパータイプトークン
  • 限定型トークン

すべてのJava開発者の必読書
一緒に読めるように💌

エフェクティブJavaをより簡単かつ完全に勉強するためのガイドを提供します。エフェクティブJavaで紹介する重要な内容を整理し、より完全に理解するために必要な背景知識を詳しく伝えています。

合計5部にわたって進行する「エフェクティブJava完璧攻略」シリーズの今回の講義はシリーズの中で2番目の講義です。最初の講義を先に受講し、次に学習してください。

白機線の「エフェクティブJava完璧攻略」過去講義📖

こんな方に
おすすめです

学習対象は
誰でしょう?

  • 現業でJavaを使用しているすべての開発者

  • Javaをマスターしたい開発者または学生

  • エフェクティブJavaをより完全に学習したい開発者または学生

前提知識、
必要でしょうか?

  • Javaの基礎

  • ザJava:Java 8

  • もっとJava:コードを操作するさまざまな方法

  • コーディングで学習するデザインパターン

  • エフェクティブJava完璧攻略パート1

こんにちは
です。

92,242

受講生

4,207

受講レビュー

2,010

回答

4.8

講座評価

20

講座

네이버와 아마존을 거쳐 현재 Microsoft에서 시니어 소프트웨어 엔지니어로 일하고 있습니다.

아인슈타인은 "교육이란 사실을 가르치는 것이 아니라, 생각할 수 있는 힘을 기르는 것이다."라고 말했습니다. 그리고 저도 그 말에 깊이 공감하며 강의를 만들고 있습니다.

유튜브:
'백기선' 채널에서 개발자 고민 상담 및 개발자에게 유용한 지식 공유
번역: 스프링 및 하이버네이트 관련 서적 다수 번역
저술: 쉽게 따라하는 자바 웹 개발

カリキュラム

全体

54件 ∙ (8時間 54分)

講座資料(こうぎしりょう):

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

全体

32件

4.8

32件の受講レビュー

  • ksyn16113827님의 프로필 이미지
    ksyn16113827

    受講レビュー 10

    平均評価 5.0

    5

    37% 受講後に作成

    I saw you during the YouTube developer consultation and wrote a question in the comments, and I was so touched by your sincere response that I am taking the developer guide and it is really helpful for me in writing my portfolio.! Since the early bird event came up, I am taking the course right away with the thought of learning Java clearly and accurately! Thank you so much for explaining in detail the difficult parts or parts that need to be mentioned during the live coding process! Sometimes, I was confused and didn't understand why I had to use final or why I had to use an access modifier, but I was able to understand it after listening to the lecture.!!

    • remember28890963님의 프로필 이미지
      remember28890963

      受講レビュー 81

      平均評価 4.9

      5

      100% 受講後に作成

      This was really helpful and I'm looking forward to the next one!

      • pia2carrot님의 프로필 이미지
        pia2carrot

        受講レビュー 2

        平均評価 5.0

        5

        6% 受講後に作成

        This Effective series is so informative. I love the process of checking things I didn't understand or just skipped over in the book while typing code. Thank you always.

        • tmxhsk990743님의 프로필 이미지
          tmxhsk990743

          受講レビュー 11

          平均評価 5.0

          5

          46% 受講後に作成

          Effective Java uses examples to explain, but there are many cases where you don't know the examples. It's a lecture that's like a filial son because it explains the difficult parts.

          • kkimbabb1146님의 프로필 이미지
            kkimbabb1146

            受講レビュー 16

            平均評価 5.0

            5

            100% 受講後に作成

            I will take a good look at it.

            ¥7,865

            whiteshipの他の講座

            知識共有者の他の講座を見てみましょう!

            似ている講座

            同じ分野の他の講座を見てみましょう!