강의

멘토링

커뮤니티

BEST
개발 · 프로그래밍

/

백엔드

스프링 부트 - 핵심 원리와 활용

실무에 필요한 스프링 부트는 이 강의 하나로 모두 정리해드립니다.

(5.0) 수강평 452개

수강생 13,552명

난이도 초급

수강기한 무제한

  • 김영한
새소식 목록
관리
작성
김영한님의 프로필 이미지

수정됨

김영한의 실전 자바 - 고급 3편, 람다, 스트림, 함수형 프로그래밍 - 오픈 일정 확정

안녕하세요. 여러분 드디어 2년에 걸쳐서 자바 로드맵을 완성했습니다.

자바 로드맵의 마지막 강의인 김영한의 실전 자바 - 고급 3편, 람다, 스트림, 함수형 프로그래밍

오픈 일정이 3월 25일(화) ~ 3월 28(금) 사이에 오픈하는 것으로 확정 되었습니다.

  • 강의 시간: 16시간 40분

  • 강의 수: 97강

  • 강의 PDF 자료: 387 페이지

     

[강의 소개]
람다, 스트림, 함수형 프로그래밍 같은 최신 자바에서 자주 사용되는 새로운 문법과 기술들을 학습합니다.
이번 강의를 통해 여러분이 람다, 스트림, 함수형 프로그래밍 같은 기술을 단순히 아는 것을 넘어서 실무에 이 기술들을 어떻게 적용해야 하는지, 깊이있게 이해하고, 또 활용할 수 있게 가르쳐 드리겠습니다.

 
[강의 내용 요약]

주요 강의 내용은 다음과 같습니다.

1. 람다가 필요한 이유

깔끔하고 간결한 코드를 위해, 그리고 병렬 처리와 같은 고급 기능을 쉽게 활용하기 위해 람다가 지금의 자바에서 얼마나 중요한 역할을 하는지 알아봅니다.

2. 람다

실제 코드 예제를 통해 람다의 정의와 문법, 활용 팁을 배우게 됩니다. 기존 방식과 어떻게 다른지, 또 어떤 점이 매력적인지 명확하게 이해하실 수 있습니다.

3. 함수형 인터페이스

람다와 함께 쓰이는 필수 개념인 함수형 인터페이스!
함수형 프로그래밍이 가능한 이유와 자바 표준 API에 내장된 다양한 함수형 인터페이스들을 간편하게 활용하는 방법을 전해 드립니다.

4. 람다 활용

실무 코드에서 람다를 어떻게 적용할 수 있을까요?
반복되는 패턴과 복잡한 로직을 단순화시키는 람다의 핵심 활용법을 예제와 함께 익혀봅시다.

5. 람다 vs 익명 클래스

어떤 상황에서 람다가 더 효율적이고, 어떤 경우엔 익명 클래스를 써야 하는지 비교 분석합니다.

6. 메서드 참조

자바 8부터 추가된 메서드 참조 문법은 함수형 프로그래밍의 깔끔함을 한 단계 업그레이드해 줍니다. 메서드 참조 문법이 어떻게 동작하고, 실용적인 활용 예시는 무엇인지 알려드립니다.

7. 스트림 API1 - 기본

스트림 API는 람다와 함께 자바 컬렉션을 다루는 새로운 패러다임을 보여줍니다. 처음 접하는 분들도 이해하기 쉽게, 스트림 구조와 기본 사용법을 알기 쉽게 정리해 드립니다.

8. 스트림 API2 - 기능

필터링, 매핑, 정렬, 리듀스 등 스트림에서 제공하는 핵심 기능들을 차근차근 살펴봅니다. 코드를 보다 더 직관적이고 함축적으로 작성하는 방법을 익힐 수 있습니다.

9. 스트림 API3 - 컬렉터

효율적인 데이터 수집과 가공을 위해 스트림에서 활용하는 Collector의 개념을 학습합니다. collect(), grouping, partitioning 등, 실무에서 꼭 필요한 스킬들을 익히실 수 있습니다.

10. Optional

null 처리를 깔끔하게 해결해 주는 Optional을 제대로 활용해봅시다. isPresent(), orElse(), orElseThrow() 등 실전에서 잦은 NPE 문제를 예방할 수 있는 다양한 방법을 다룹니다.

11. 디폴트 메서드

자바 인터페이스의 새로운 면모인 디폴트 메서드를 살펴봅니다.

인터페이스를 확장할 때 호환성을 유지하는 방법과 함께, 올바른 사용법을 알아봅니다.

12. 병렬 스트림

고성능을 위한 병렬 처리! ForkJoin 풀 부터, 스트림 API를 통한 멀티코어 활용 노하우와 병렬 스트림에서 발생할 수 있는 주의사항들을 함께 배워 보세요.

13. 함수형 프로그래밍

람다, 스트림 API, Optional 등 자바 8 이후로 추가된 기능들은 모두 함수형 프로그래밍 패러다임을 반영하고 있습니다. 객체지향 언어와 함수형 패러다임의 조화를 통해, 더 효율적인 코드를 작성하는 방법을 알려드립니다.

 

[전체 목차]

1. 람다가 필요한 이유

* 프로젝트 환경 구성
* 람다가 필요한 이유1
* 람다가 필요한 이유2
* 람다가 필요한 이유3
* 함수 vs 메서드
* 람다 시작

2. 람다

* 람다 정의
* 함수형 인터페이스
* 람다와 시그니처
* 람다와 생략
* 람다의 전달
* 고차 함수
* 문제와 풀이1
* 문제와 풀이2
* 문제와 풀이3
* 정리

3. 함수형 인터페이스

* 함수형 인터페이스와 제네릭1
* 함수형 인터페이스와 제네릭2
* 람다와 타겟 타입
* 기본 함수형 인터페이스
* 특화 함수형 인터페이스
* 기타 함수형 인터페이스
* 문제와 풀이
* 정리

4. 람다 활용

* 필터 만들기1
* 필터 만들기2
* 맵 만들기1
* 맵 만들기2
* 필터와 맵 활용1
* 필터와 맵 활용2
* 스트림 만들기1
* 스트림 만들기2
* 스트림 만들기3
* 스트림 만들기4
* 정리

5. 람다 vs 익명 클래스

* 람다 vs 익명 클래스1
* 람다 vs 익명 클래스2
* 정리

6. 메서드 참조

* 메서드 참조가 필요한 이유
* 메서드 참조1 - 시작
* 메서드 참조2 - 매개변수1
* 메서드 참조3 - 임의 객체의 인스턴스 메서드 참조
* 메서드 참조4 - 활용1
* 메서드 참조5 - 활용2
* 메서드 참조6 - 매개변수2
* 정리

7. 스트림 API1 - 기본

* 스트림 API 시작
* 스트림 API란?
* 파이프라인 구성
* 지연 연산
* 지연 연산과 최적화

8. 스트림 API2 - 기능

* 스트림 생성
* 중간 연산
* FlatMap
* Optional 간단 설명
* 최종 연산
* 기본형 특화 스트림

9. 스트림 API3 - 컬렉터

* 컬렉터1
* 컬렉터2
* 다운 스트림 컬렉터1
* 다운 스트림 컬렉터2
* 정리

10. Optional

* 옵셔널이 필요한 이유
* Optional의 생성과 값 획득
* Optional 값 처리
* 즉시 평가와 지연 평가1
* 즉시 평가와 지연 평가2
* 즉시 평가와 지연 평가3
* orElse() vs orElseGet()
* 실전 활용1 - 주소 찾기
* 실전 활용2 - 배송
* 옵셔널 - 베스트 프랙티스
* 정리

11. 디폴트 메서드

* 디폴트 메서드가 등장한 이유
* 디폴트 메서드 소개
* 디폴트 메서드의 올바른 사용법
* 정리

12. 병렬 스트림

* 단일 스트림
* 스레드 직접 사용
* 스레드 풀 사용
* ForkJoin 패턴
* ForkJoin 프레임워크1 - 소개
* ForkJoin 프레임워크2 - 작업 훔치기
* 작업 훔치기 알고리즘
* ForkJoin 프레임워크3 - 공용 풀
* 자바 병렬 스트림
* 병렬 스트림 사용시 주의점
* 별도의 풀 사용
* 정리

13. 함수형 프로그래밍

* 프로그래밍 패러다임
* 함수형 프로그래밍이란?
* 자바와 함수형 프로그래밍1
* 자바와 함수형 프로그래밍2
* 자바와 함수형 프로그래밍3
* 정리

 

감사합니다.

댓글