강의

멘토링

커뮤니티

BEST
Programming

/

Web Development

Real-World Java - Advanced Part 3, Lambda, Streams, and Functional Programming by Kim Young-han

Learn the essential modern Java technologies of Lambda, Stream, and functional programming with Java, from the basics to the practical level, in depth.

(5.0) 268 reviews

4,060 learners

  • yh
Java
Functional Programming
Lambda
optional

Reviews from Early Learners

What you will gain after the course

  • Lambda

  • Functional Interface

  • Stream API

  • 선택 사항

  • Functional programming

Ranked 1st in cumulative number of students enrolled in domestic development field
Kim Young-han's Practical Java Made Right

Just knowing Java grammar? That won't do!

Former Technology Director of Woowa Brothers, Cumulative Students Surpass 400,000
Why Kim Young-han created Java lectures

•••

“I wanted to create a proper Java course that would create proper developers needed for real work.”

The latest Java syntax and techniques that shine in practice

So far, we have covered the basics of Java through Java Introductory, Basic, and Intermediate 1 and 2, and learned advanced technologies such as multithreading, I/O, networking, reflection, and annotations through Advanced 1 and 2 .

In this "Advanced Java 3" lesson, you will learn new grammar and techniques frequently used in modern Java, such as lambda, stream, and functional programming.

  • Lambda

  • Stream

  • Functional Programming

Kim Young-han's Practical Java Roadmap

This lecture is the last lecture of Kim Young-han's Practical Java Roadmap , and is intended for those who have learned basic Java grammar and OOP (classes, generics, collections, data structures), multithreading, input/output, and network utilization.

>> Introducing the Java Roadmap Guide to help you learn effectively and appropriately for your purpose .

The lecture "Kim Young-han's Practical Java - Advanced Part 3"

The importance of essential understanding

Rather than simply learning Java's syntax and features, we delve deeply into why those features are necessary and how they can be applied in practice.

A practical approach

Rather than simply conveying theories, it provides step-by-step understanding of the necessity of Java technology through illustrations and example codes that help understanding. In addition, through various examples, you can understand how each technology is utilized in practice.

Our goal is more than just grammar.

This advanced 3-part course aims to completely master functional programming using lambdas, streams, and Java from the basics to the level required for practical use.

In particular, rather than simply learning the grammar of lambda and streams, you will learn in depth how to properly apply these cutting-edge technologies in practice through various practical examples and best practices.

I will teach you how to apply and utilize technologies like lambda, streams, and functional programming in practice, beyond simply knowing them.

Lecture Contents

  • Learn the basics and usage of Lambda, and practice implementing filters, maps, streams, etc.

  • Learn the basic theory and various functions (filter, map, flatMap, etc.) of the stream API, and learn how to use stream collectors and parallel streams.

  • Learn additional features such as Optional and default methods, and learn how to apply them correctly in practice.

  • Understand programming paradigms such as imperative, object-oriented, and functional, and learn functional programming in Java in an easy-to-understand way through code.


Lambda and functional programming core summary

Mastering the basics of lambda and functional interfaces

Learn about the necessity, definition, grammar, and usage tips of lambda. Also, learn about functional interfaces, an essential concept used with lambda, and learn how to effectively utilize various interfaces built into the Java standard API.

Practical use of lambda and method reference

Learn the core usage of lambdas in real-world code. Also, learn how to properly use lambdas by comparing their differences with anonymous classes, and understand how to increase code conciseness through method references added in Java 8.

Complete understanding of Stream API and practical application

Stream API Basics

The Stream API, along with Lambda, presents a new paradigm for handling Java collections. We will organize the structure and basic usage of streams so that they are easy to understand, and learn how to write more concise and intuitive code by learning the core functions provided by streams such as filtering, mapping, sorting, and reducing.

Deeper streams, using collectors

Learn the concept of Collector for data collection and processing, and cover various collection techniques such as collect() , groupingBy() , and partitioningBy() . Learn essential skills in practice through practical examples.

Advanced add-ons and functional programming

Advanced Add-ons

Learn advanced features added in Java 8. Learn how to prevent NPE problems using Optional and maintain compatibility when extending interfaces using default methods. Also, learn techniques to maximize performance in multicore environments using parallel streams.

Functional Programming

Learn how to implement the functional programming paradigm using features added after Java 8, such as lambda, stream API, and Optional. Compare various paradigms, such as imperative, object-oriented, declarative, and functional, and acquire practical know-how to effectively apply functional programming in Java.

“Rather than thinking about what more I should teach, I thought more deeply about what absolutely must be known.”

In this 'Kim Young-han's Practical Java Java Roadmap', my goal is to create a capable developer who has solid fundamentals that are necessary for actual work. The fundamentals that are built over a long period of time become more valuable as time goes by. I hope that this lecture will serve as a foundation for you to easily and quickly absorb the numerous practical technologies that you will encounter in the field and grow into a developer who grows more enjoyably.

Recommended for
these people

Who is this course right for?

  • Aspiring developer

  • For those who have studied Java but want to solidify the fundamentals

  • Developers who want to gain a deeper understanding of Java for practical use.

Need to know before starting?

  • Kim Young-han's Practical Java - Advanced Part 1 - Multi-threading and Concurrency

  • Kim Young-han's Practical Java - Intermediate Level 1 & 2

  • Kim Young-han's Practical Java - Fundamentals

Hello
This is

568,630

Learners

38,403

Reviews

9,020

Answers

5.0

Rating

25

Courses

진짜 실무에 필요한 제대로 된 개발자가 될 수 있도록, 교육하는 것이 저의 목표입니다.

 

저의 개발 인생 이야기

EO 인터뷰 영상

개발바닥 - 시골 청년 개발왕 되다

취업과 이직에 대한 고민 해결

 

Curriculum

All

99 lectures ∙ (16hr 40min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

268 reviews

5.0

268 reviews

  • bonjeong088610님의 프로필 이미지
    bonjeong088610

    Reviews 2

    Average Rating 5.0

    Edited

    5

    100% enrolled

    入隊前の最高の選択 😊 ++ 完走後: 私は昨年、大学に入学して初めてJavaを学ぶことになりました。そこで先輩の勧めでキム・ヨンハンさんの講義に出会ったのですが、入門編と基本編を見ながら、何も知らない状態から原理から丁寧に説明してくださる講義方式が非常に印象的でした。直接描かれた図解資料とよく整理されたPDFのおかげで、Javaという言語を楽しく学習し、基礎を固めることができました。そして中級編と高級編を学習しながら、様々なデザインパターンといった面白い要素でJavaとオブジェクト指向プログラミングの魅力にハマってしまったようです。私は昨年から始めて1年間、ヨンハンさんのJavaロードマップを受講し、多くのことを学びました。おかげでA+も取れて感謝しています!もしかしたら追加講義も期待しています!ありがとうございました。

    • yh
      Instructor

      bonjeong08さん、ありがとうございます:) bonjeong08さんの受講レビューを拝見して、ふと20年前の昔話が思い出されました😊😊😊 私が尊敬する先輩がいたのですが、その方は軍隊でJavaを勉強して出てこられたんです。 それで、どのように勉強されたのか尋ねてみたところ、とても分厚いJavaの本を1冊持って、パソコンもない状態でひたすら頭の中でシミュレーションしながら勉強されたそうです😊😊 bonjeong08さん、応援しています:)

  • xuv2님의 프로필 이미지
    xuv2

    Reviews 24

    Average Rating 4.8

    Edited

    5

    27% enrolled

    こんにちは、ヨンハンさん。まず、Javaロードマップの無事完結おめでとうございます! 今回のJava3編は、私がとても聴きたかったモダンな文法(ラムダ、ストリーム)に関する内容なので、本当に楽しみにしていました。 私は最初に野生型コースに進もうとしましたが、Spring入門編でラムダとOptionalにつまずき、Javaロードマップからすべて終わらせようと決意し、入門編を皮切りに、すでに最後の講義まで来ました。 私がJavaのすべてのロードマップを受講し、少なくとも2回以上はすべて復習した感想として、このJavaロードマップは本当に「単純なJava言語の講義ではなく、プログラミングおよびコンピュータ科学に基づいた深みのある講義」だと思います。 実は以前、ラムダ文法については本や検索を通じて少しずつ自己流で調べて理解しようと努力しましたが、実際にどのようにラムダを使用すべきかについては、完全に理解できていませんでした。 私は関数型プログラミング、ラムダなど、初めて見る単語に対して、すぐに怖気づく傾向があります。しかし、今回の講義の最初から「皆さん、ラムダもオブジェクトです」という一文を聴いた瞬間、私が難しく感じていた内容もすぐにすらすらと理解できるようになりました。学校の教授はなぜラムダもオブジェクトだという言葉をひとことも言ってくれず、私がこのように遠回りすることになったのかとも思ったり、その一文で私を理解させたヨンハンさんにも感謝の気持ちが同時に湧きました😆😆😆。 入門、基本編を通じてJavaの基礎文法を習得することができ、 中級編を通じて例外をどのように処理するのか、そしてどのような状況でどのようなデータ構造を使うべきなのかを確実に理解し、初めてコーディングテストに挑戦し、 高級1編を通じてマルチスレッド -> マルチスレッドを活用したフレームワークを学び、 高級2編を通じてはネットワークとリフレクションを通じて動的なプログラムはどのように作るのか、少しだけ味わうことができ、 今回の高級3編を通じては最新の文法とは言え、すでに商用化されたJava文法について学ぶことができました。 また、このすべての過程を進める中で、特に勉強はしませんでしたが、自然と習得できたコンピュータ科学の知識もたくさんありました。 特にSOLID原則を初めて知った時は、各原則が何を意味するのか簡単に理解できませんでした。しかし、このロードマップが終わる頃にもう一度原則を読み返した時は、私がすでに当然だと思っている内容で構成された原則だと気づくことができました。 残念ながら、私はこのような高度なスキルを学んだだけで、何かをすぐに作ることはできませんが、Springへの一歩を踏み出したと思って、Springロードマップも一生懸命頑張ってみます! 「Javaはすべてがオブジェクトだ!」 「すべての機能は、何か特別な才能があるのではなく、Javaコードで作成した機能だ!」 二つの言葉を必ず頭に刻み込み、復習も一生懸命頑張ります。 いつもご健勝をお祈りし、改めてJavaロードマップの完成おめでとうございます!

    • yh
      Instructor

      xuv2様、楽しそうに勉強されているご様子を拝見し、私も一生懸命準備した甲斐がありました:) 何よりもJavaの基礎を一つ一つきちんと積み上げていらっしゃる姿が素晴らしいです。 私も時間が経ってみて、結局基礎をしっかりしておかないと、後でSpringやJPAのような活用技術を扱う時、より深く理解できるようになることに気づきました。 そして、私の講義が単にJavaの文法だけを伝えるのではなく、実務に必ず必要な基本的なCSの内容が、実際の業務でどのように活用されるのかも一緒に説明しようと努力しましたが、そのような部分もご理解いただきありがとうございます。 私にとって本当に力になる受講レビューです:) おかげで私もさらに頑張って次の講義を一生懸命準備します^^! 楽しく勉強して、さらに大きく成長してください!

  • dh222님의 프로필 이미지
    dh222

    Reviews 5

    Average Rating 5.0

    5

    61% enrolled

    ラムダ/ストリームを初めて勉強した時、「モダーンJavaインアクション」という本で勉強しましたが、この本を読みながらも何度も感じ、説明も上手だと思いながら、これらの技術に慣れていくのを感じていました。 今回ストリームの講義を受けながら、断然この講義が圧倒的だと思いました。 私がたくさん勉強したわけでもなく、私の実力が低い方なので他の本/講義が難しいと感じたのかもしれませんが、受講した講義/読んだ本の中では一番良いと感じます。 セクションを区分けしていくのではなく、互いに連結されているような感じも受けたのでとても良く、それゆえに流れについていくことができた点 例が少ないと感じましたが、例一つ一つがとても良かった点など... ヨンハンさんのロードマップにある講義を全て受講し、最後の講義を受講中ですが、全ての講義の中で一番良いと思っています。 初めてラムダ/ストリームを学ぶにはこれ以上の講義/本はないと思いますし、既にある程度知っている時点でもう一度整理するのにもこれ以上の講義/本はないと思います。 ただ意識の流れのままに書いたので文章が少しめちゃくちゃですが、とにかくこの講義は神です、神。 良い講義を作ってくださりありがとうございます。 レビューは2つ以上残せないようなので、既存のレビューを削除して再作成します😭😭

    • yh
      Instructor

      チョン・デフン様、楽しんで勉強されているのが伝わってきて、私も嬉しいです:) 実は、セクション全体を小さなブロックを積み上げていくように有機的に連結し、大きな絵を自然に完成させるためにたくさん準備したのですが、そのような部分にも気づいてくださりありがとうございます。 今のように楽しく勉強し、大きく成長されることを応援しています^^!

  • jjs0107135951님의 프로필 이미지
    jjs0107135951

    Reviews 5

    Average Rating 5.0

    5

    100% enrolled

    こんにちは!今回の講義を聞きながら、講師がおっしゃっていた美しさを感じることができました。本当に講義を聞けば聞くほど、とても不思議で興味深い時間でした。特に今回の講義は、あまりにも短く感じられるほど、名残惜しい気持ちもあります。それだけ、キム・ヨンハン講師が良い講義をしてくださったのだと思います。さて、Javaロードマップを完講されたとのことですが、本当にお疲れ様でしたと申し上げたいです。実は、このように一人で講義を準備し、編集し、悩み、また悩んでアップロードされている講義だと知り、本当に講師の情熱を見習って、私も共に情熱的な姿勢で臨んだように思います。私は現在、大学でコンピューター工学部4年生です。私が今回の講義で、バックエンドプログラミングとしてSpring Frameworkを学ぶ講義を受講中なのですが、講義を聞いて感じたことは、本当に講師がおっしゃっていたように、スポンジのように吸収するように、私のコーディングの実力が何倍も上がったということを体感することができました。現在のプロジェクトでも、今学んだラムダ技術を適用できる部分に適用しながら、さらにラムダについて近づくことができました。今回も、このように良い講義を提供してくださり、ありがとうございます!今後も、着実に進歩する開発者になるために努力します!私の開発者の道には、キム・ヨンハン講師も共に歩んでいるかのように、心強い存在です。尊敬します!!ありがとうございます!

    • yh
      Instructor

      熱情マンさん、私にとっても励みになる受講の感想、ありがとうございます! 今回の講義を通じて開発の美しさを感じられたなら、開発者として好奇心と楽しさを持って継続的に大きく成長できると思います :) 楽しく勉強して、また、地道に勉強を続けて大きく成長されることを応援しています!

  • cod0216님의 프로필 이미지
    cod0216

    Reviews 5

    Average Rating 4.8

    5

    100% enrolled

    2024年初めにJava基本編から初めて開発の勉強を始めました。夏まではJava中級編とSpringロードマップに沿って学習し、合間に運営体制とコンピュータ構造も継続的に勉強しました。途中でSSAFYに合格することができましたが、ヨンハンさんの講義のおかげでJava班として合格でき、今は修了まで無事に終えることができました。修了後は上級編3まで学習を進め、最初の基本編で不安だった私が今では自信と確信を持つようになりました。 いつか誰かに「Javaは誰に習ったの?」と聞かれたら、キム・ヨンハン講師に習ったと堂々と言えると思います。心を込めて感謝いたします。

    • yh
      Instructor

      最恩昌さん、私にJavaを熱心に教えてくださって、私も心から感謝しています :)

$59.40

yh's other courses

Check out other courses by the instructor!

Similar courses

Explore other courses in the same field!