Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
BEST
Programming

/

Programming Language

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

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

  • whiteship
Java

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

こんなことが学べます

  • オブジェクトの生成と破壊に関連するJavaテクノロジ

  • Objectが提供するメソッドを適切にオーバーライドする方法

MSシニア開発者と一緒に学びます!
深さが格別なエフェクティブJava✨

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

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


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

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

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


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

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

『エフェクティブJava』を計5部に分けて学習します。そのうちの1部に該当するこの講義は、『エフェクティブJava』第2章「オブジェクトの生成と破壊」と、第3章「すべてのオブジェクトの共通メソッド」を取り上げます。

『エフェクティブ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個アイテム別完璧攻略、
学習カリキュラム📚

アイテム1.コンストラクタの代わりに静的ファクトリメソッドを検討してください。

  • 列挙タイプ
  • フライウェイトパターン
  • インタフェースと静的メソッド
  • サービスプロバイダーフレームワーク
  • リフレクション

項目2.コンストラクターにパラメータが多い場合は、ビルダーを検討してください。

  • JavaBeanとは?
  • オブジェクトの凍結
  • ビルダーパターン
  • IllegalArgumentException
  • 可変引数

アイテム 3. コンストラクタや列挙タイプでシングルトンであることを保証しなさい。

  • メソッドリファレンス
  • 関数型インタフェース
  • オブジェクトの直列化

項目 4. インスタンス化を防ぐために、privateコンストラクタを使用してください。

項目 5. リソースを直接指定するのではなく、依存オブジェクト注入を使用します。

  • ファクトリメソッドパターン
  • Spring IoC

アイテム6.不要なオブジェクトの作成を避けてください。

  • Deprecation
  • 正規表現
  • ガベージコレクション

アイテム7.書き込んだオブジェクト参照を解放します。

  • NullPointerException
  • WeakHashMap
  • Soft, Weak, Phantom リファレンス
  • ScheduledThreadPoolExecutor

アイテム8. finalizerとcleanerの使用を避けてください。

  • Finalizer攻撃
  • AutoClosable

アイテム9. try-finallyよりtry-with-resoucesを使用してください。

アイテム10. equalsは一般規約を守って再定義しなさい。

  • Value ベースのクラス
  • StackOverflowError
  • Stack と Heap
  • リスコープ置換原則

アイテム11. equalsをオーバーライドしようとしたら、hashCodeもオーバーライドします。

  • ハッシュ衝突
  • ハッシュマップと接続リスト
  • スレッドセーフ(Thread Safety)

アイテム12. toStringを常にオーバーライドします。

アイテム 13. clone 再定義は注意して進めなさい。

  • UncheckedException
  • TreeSet

アイテム14. Comparableを実装するかどうかを考えてください。

  • コンパイル時 vs ランタイム
  • タイプ推論
  • 整数オーバーフロー
  • 浮動小数点

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

勉強はなぜするのでしょうか?私たちはなぜこのような困難なものを理解しようとし、時間とお金を費やすのでしょうか?その答えは皆さんの「実力向上」だと思います。この講義には、スプリングやJavaを勉強するときに使っていた私の学習方法がそのまま含まれています。まず読んで、理解される内容と理解できない内容を整理し、理解できない内容はなぜ、どんな部分のためか要約し、その部分に必要な追加学習。そしてさらなる学習につながる別の追加学習。

私はそのような学習過程を通じて真の実力が育てられると信じています。序盤は遅くて大変でしょうが、アイテム13と14を学習する時ごろの皆さんはアイテム1と2を学習する時の皆さんとはっきり変わっているはずです。一度感じてください。この講義の最後の授業まで、本人の実力や知識に何の変化も感じられない場合は、払い戻しを要請してください。理由を問わず100%返金させていただきます。

こんな方に
おすすめです

学習対象は
誰でしょう?

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

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

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

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

  • Javaの基礎

  • ザJava:Java 8

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

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

こんにちは
です。

92,180

受講生

4,201

受講レビュー

2,010

回答

4.8

講座評価

20

講座

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

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

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

カリキュラム

全体

74件 ∙ (12時間 52分)

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

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

受講レビュー

全体

110件

4.9

110件の受講レビュー

  • 강낭콩님의 프로필 이미지
    강낭콩

    受講レビュー 15

    平均評価 4.9

    5

    19% 受講後に作成

    백기선님 강의의 가장 큰 특징이자 장점은 문제에 대한 정답만을 제공하는 것이 아닌 그 문제를 해결하기 위한 방법을 찾고 선택하는 안목을 배울 수 있다는 것이라고 생각합니다. 대부분의 백기선님 강의 중에서 기선님이 실수하는 순간이나 예상치 못한 문제를 만나서 방법을 모색하고 디버깅으로 문제를 해결하는 것을 편집 없이 보여주는 부분은 저와 같이 라이브 코딩을 하는 느낌도 나고 기선님이 어떻게 문제를 바라보고 해결하시는지에 대한 시각을 볼 수 있어서 좋았습니다. 제가 개발을 접한지 얼마 안됐을 때에는 단지 스프링 개발자가 되고 싶다는 막연한 꿈만 갖고 있었습니다. 스프링이라는 기술이 어떤 문제를 해결해주기 위해서 만들어졌고 우리 개발자에게 어떤 가치를 제공해 주면서 이런 큰 인기를 끄는지 알지 못한 채로요. 하지만 2년전 우연찮게 유튜브에서 백기선님 유튜브를 접하게 되고, 인프런에서 첫 REST-API 강의를 시작으로 지금의 이펙티브 자바 강의에 이르기까지 쭉 기선님의 강의와 유튜브를 보면서 개발자로 살아가는데 기술이 전부가 아니구나를 깨닫고 반성하며 스프링처럼 변화하는 수 많은 기술의 근간이 되는 변하지 않는 근간의 기술과 지식을 중점적으로 학습하고 있습니다. 강의 분위기를 잠깐 얘기해보자면 과거에는 다소 딱딱하면서도 약간의 친절하지 않음이라는 느낌을 받았고 이러한 점은 민감하게 반응할 사람들이 꽤 있겠구나라고 생각을 했었지만, 현재는 전체적인 강의 분위기와 강의 퀄리티도 많이 향상되었다는 점을 크게 느끼고 있습니다. 최고입니다. 마지막으로 백기선과 유튜브와 인프런으로 소통을 해온지 2년이 된 올해에 취직이 되어 행복한 회사 생활을 보내고 있습니다. 제가 개발자로서 살아가는데 정체성을 갖추고 공부하는 법을 깨닫도록 도와준 백기선님과, 이런 명품 강의를 손쉽게 접할 수 있게 도와준 인프런에게 정말 감사드립니다! 앞으로 더 좋은 강의와 좋은 서비스를 기대해보겠습니다!!

    • 백기선
      知識共有者

      안녕하세요. 강낭콩님 좋은 소식을 들으니 기분이 좋네요. 제 강의가 조금이라도 도움이 되었길 바라며 앞으로도 계속 개선해 나가겠습니다. 감사합니다.

  • OMG님의 프로필 이미지
    OMG

    受講レビュー 205

    平均評価 5.0

    5

    100% 受講後に作成

    100페이지도 안되는 책 내용을 약 13시간 분량에 핵심정리와 완벽공략으로 자세히 설명해주시는게 좋았습니다. 책을 한번 보고 나서 강의를 수강하니 강의 볼 때 이해도 더 잘 됐고, 혼자서 책을 여러번 본다고 하더라도 기반 지식이 없는 상태라면 이해하지 못할 내용을 책에 대한 설명과 책에서 다룬 키워드에 대한 설명을 나눠서 해주셔서 이해하는 데에 많은 도움이 되었습니다. 다만 아쉬웠던 점은 강의 내내 강의PPL이 많아 집중이 깨질 때가 있었습니다. 더자바 시리즈와 디자인 패턴 강의에 대한 언급이 많은데 영상마다 강의 언급이 많다면(그만큼 해당 강의들이 사전지식으로써, 참고할 내용으로써 중요하단 뜻임은 이해하고 숙지하고 있습니다.) 스프링 프레임워크 핵심 기술 강의와 같이 강의소개, 강사소개를 나눠놓은 것 처럼 본 강의와 연관된 기선님의 기존 연관 강의 설명하는 영상을 따로 만들어서 설명하고, 강의에서는 학습 내용만 설명해주시는게 어땠나 싶습니다. 복습할 때도 좋고, 학습하는 데에도 좋고, 강의 연관도를 참고하는 데에도 많은 도움이 되는 방법이라 생각합니다. 단점으로 작성한 내용에도 불구하고 다음 강의가 출시된다면 무조건 볼 예정입니다. 앞으로도 좋은 강의 부탁드립니다^^

    • 백기선
      知識共有者

      피드백 감사합니다. 제가 생각해도 초반에 다른 강의 언급이 조금 많았던 것 같습니다. 다음엔 조금 더 신경 쓰겠습니다.

  • dnom님의 프로필 이미지
    dnom

    受講レビュー 7

    平均評価 4.9

    5

    31% 受講後に作成

    기선님 강의 스타일은 다른 인강처럼 딱딱한 느낌보다 웃고 실수도 하시는 장면도 가끔 있어 현강인 느낌인 것 같아 좋습니다. MS 개발자도 저런 실수를 하다니 로봇이 아니고 사람이구나 느낍니다. 🤣🤣🤣 기선님 강의를 많이 들어봤지만 이 강의는 기본 선수지식들이 당연한 베이스로 깔고가다보니 이보다 어려운 강의는 없는 것 같습니다 (다른 강의들 홍보도 하시지만 해당 내용을 맛보기로 상기시켜주시니 부족한 부분은 해당 목차보고 수강생들이 판단해서 들으면 될 것 같아요) 이펙티브 자바가 번역서이다보니 쉽게 와닿지가 않는데 한 번 더 번역해주는 느낌으로 편하게 다가올 수 있었습니다. (그래도 어렵지만..) 옛날에 찍으셨던 강의들과 다르게 Question을 던져주고 Answer를 답해주는 방식이 좀 더 많아서 더 깊게 생각해보고 할 수 있는 시간이였던 것 같습니다. 이런 스타일 너무 좋습니다!! 완강했을 때까지 변화를 못느꼈다면 100프로 환불이라니까 모두 들어보세요. 기선님이 자신 있으신 이유가 있습니다. !! p.s) 다음 부작은 언제 나오나요?

    • 백기선
      知識共有者

      2부는 올해 (2022년) 여름으로 계획하고 있습니다. 피드백 감사합니다.

  • Ju-Ho Yoon님의 프로필 이미지
    Ju-Ho Yoon

    受講レビュー 8

    平均評価 5.0

    5

    7% 受講後に作成

    어떻게 보면 실무를 하며 자바의 특성을 제대로 알고 사용해야 함에도, 늘 사용하는 방법대로만 쓰다 보니 계속 퇴보하는 느낌이 들어 다시 한번 공부해 보려 하던 차에 기선님의 강의를 만났습니다. 디자인 패턴, 리팩토링과 함께 보고 있습니다. 기선님 강의가 실무에서 쓰이는 영역과 접목이 되는 부분들도 많고, 필요한 배경 정보도 함께 전해주시다 보니 지식을 확장해 나가는데 많은 도움이 되는 것 같습니다. 그리고 특히 좋은 부분은 정해진 틀에서 진행하는 것이 아니라, 생(Live)로 발생하는 문제들도 같이 해결해 가는 과정들도 좋은 경험인 것 같아요. 이펙티브 자바는 예전에 책으로 한번 도전을 했다가 그냥 진도만 나가고 제대로 소화하지 못했던 경험이 있습니다. 책으로 읽을 때 딱딱하고 이해 가지 않는 내용들이 많았는데, 책에서는 접할 수 없었던 지식의 행간을 기선님을 통해 채워 나가는 것 같습니다. 특히 예전 유튜브 공개영상에 비해 점점 구성이 더 좋아지는 것은 느낌적인 느낌일까요? 예전에는 라이브 코딩이긴 했지만 집중하기가 힘든 면도 있었는데, 요즘은 중간중간 정리하면서, 생각해 볼 문제를 던져 주는 것도 지식을 정리하는데 도움이 되는 것 같습니다. 어려운 내용이지만 아이템별로 차근히 따라가면 많은 도움이 될 것 같습니다. 앞으로 남은 4 파트들도 기대하고 있겠습니다 :)

    • KJH님의 프로필 이미지
      KJH

      受講レビュー 4

      平均評価 5.0

      5

      57% 受講後に作成

      자바 개발자 필독서로 꼽히는 이펙티브 자바, 옮긴이의 말에서 추천해 주던 백기선님의 이펙티브 자바 유튜브 강의가 중간까지만 있어서 항상 아쉬웠습니다. 백기선님이 꾸준히 강의를 내주시면서 '혹시 이펙티브 자바도 강의로 만들어주시지 않을까?' 라는 생각을 했었는데 실제로 강의로 만드신다는 이야기를 듣고 바로 구매를 하게 됐네요. 이전에도 이미 해당 책의 내용을 소개해 주시는 영상을 만드신 경험과 그동안 인프런에 꾸준히 강의를 만드신 경험이 합쳐지면서 더 좋은 강의가 나오지 않았나 생각해 봅니다. 강의에서 중간중간 나오는 질문은 놓치고 있는 부분은 없는지, 내가 부족한 부분은 무엇인지 생각할 수 있게 해주어서 좋았으며, 책에서 나오는 내용에 대한 것만이 아닌 개발자로서 고려해야 할 부분 또한 전해주시는 것도 좋았습니다. 그리고 이 강의와는 상관이 없을 수 있지만 강의를 녹화하시는 중간에 소스에서 오류가 났을 때 해당 내용을 편집하여 다시 진행하지 않고, 그 오류를 해결하는 과정도 같이 볼 수 있는 것은 많은 도움이 되는 것 같습니다. 비록 해당 강의만으로 모든 책의 내용을 전부 다루고 있지는 않지만 그만큼 이 책을 꼼꼼하게 살펴볼 수 있는 기회를 가지게 된 것 같습니다. 그리고 저의 경우에는 오히려 다음 강의가 나올 때까지 이 강의가 다루고 있는 부분만이라도 어느 정도는 이해할 수 있게 만들 시간을 가질 수 있을 것 같습니다. 백기선님의 강의/영상은 왠지 모르게 열정을 만들어 주시는 것 같습니다. 다음 강의도 그다음 강의도 항상 기대하고 있으며, 다음 파트가 나오기 전까지 백기선님이 만들어주신 이전 강의의 내용들도 다시 익히고 있겠습니다. 좋은 강의 감사합니다. ^^

      • 백기선
        知識共有者

        오류 수정 부분은 호불호가 있어서 최근에 만드는 강의에서는 대부분 편집하고 깔끔하게 전달하려고 노력하고 있습니다. 나중에 오류난 부분만 모아서 유튜브에 올려볼 순 있겠지만 유료 강의에서는 그런 부분에서 민감한 분들이 많으셔서요. 피드백 감사합니다.

    ¥10,412

    whiteshipの他の講座

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

    似ている講座

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