Thumbnail
BEST 개발 · 프로그래밍 프로그래밍 언어
더 자바, Java 8
(4.9)
138개의 수강평 ∙ 1898명의 수강생

55,000원

지식공유자 : 백기선
총 23개 수업˙총 4시간 56분
평생 무제한 수강
수료증 발급 강의
입문 초급 대상 중급이상
폴더에 추가 1041 공유
초급자를 위해 준비한
[프로그래밍 언어, 백엔드] 강의입니다.

자바 8에 추가된 기능들은 자바가 제공하는 API는 물론이고 스프링 같은 제 3의 라이브러리 및 프레임워크에서도 널리 사용되고 있습니다. 이 시대의 자바 개발자라면 반드시 알아야 합니다. 이 강의를 통해 쉽고 빠르게 자신의 기술로 만드세요.

✍️
이런 걸
배워요!
함수형 인터페이스와 람다 그리고 메소드 레퍼런스에 대해 학습합니다.
인터페이스의 기본 메소드와 스태틱 메소드에 대해 학습합니다.
Stream과 Optional에 대해 학습합니다.

JAVA 8을 제대로 활용하는 
가장 똑똑한 방법을 알려드립니다.

🙆🏻‍♀ 이 강의에서는 자바 8에 추가된 주요 기능을 학습해 봅니다.
자바 8의 코드를 확실하게 이해하고, 스스로 작성해 보세요! 🙆🏻‍♂

강의 소개 👨‍💻

2014년 3월에 처음 출시했고 6년이 넘게 지난 지금도 자바 개발자가 가장 많이 사용하고 있는 버전인 자바 8에 대해 학습합니다.

자바 기초 공부는 마쳤지만 그래도 뭔가 아직 자바에 대해 잘 모르겠고 다른 사람이 작성한 코드를 볼 때 생소한 문법이 보인다면 아마도 자바 8에 추가된 기능을 제대로 이해하지 못하고 있기 때문일 수도 있습니다.

자바 8로 무엇을 할 수 있을까요? 🐔🍴

자 보시죠! 여기 Chicken이라는 인터페이스를 구현한 기선닭이 있습니다.

public class KeesunChicken implements Chicken {

}

보시다시피 인터페이스만 구현했을 뿐, 아무런 메소드도 오버라이딩하지 않았죠.
하지만 이런 게 가능합니다.

public class App {

    public static void main(String[] args) {

        Chicken keesun = new KeesunChicken();

        Egg egg = keesun.create();

    }

}

도대체 Egg를 리턴하는 create() 메소드는 어떻게 쓸 수 있게 된 걸까요?

자, 다음 코드를 보시죠. 여기 닭 한 마리가 있습니다. 커서 반반 치킨이 되고 싶은 달걀을 보살피고 있네요.

Chicken.takesCare(new Egg() {

    @Override

    public String wannaBe() {

        return "양념반 후라이드반";

    }

});

이 코드는 줄여서 이렇게 쓸 수도 있습니다.

Chicken.takesCare(() -> "양념반 후라이드반");

어떻게 이렇게 Egg라는 타입을 쓰지도 않고 깔끔하게 줄일 수 있는지 궁금하신가요?

이번에는 달걀을 분류해 봅시다.

List<EggWithColorAndSize> eggs = new ArrayList<>();

eggs.add(EggWithColorAndSize.of().size(3).color("yellow"));

eggs.add(EggWithColorAndSize.of().size(4).color("white"));

eggs.add(EggWithColorAndSize.of().size(3).color("white"));

eggs.add(EggWithColorAndSize.of().size(5).color("yellow"));

eggs.add(EggWithColorAndSize.of().size(3).color("brown"));

eggs.add(EggWithColorAndSize.of().size(4).color("yellow"));

여기 보이는 달걀들 중에 색이 yellow인 달걀만 골라서 사이즈 별로 정렬한 다음, 달걀의 wannaBe를 출력해 봅시다.
이 강의를 들으신다면 다음과 같이 코드를 작성할 수 있고 이해할 수 있습니다.

eggs.stream().filter(e -> e.getColor().equals("yellow"))

        .sorted(Comparator.comparingInt(EggWithColorAndSize::getSize))

        .map(EggWithColorAndSize::wannaBe)

        .forEach(System.out::println);

별도의 쓰레드로 알을 낳는 작업을 실행하고 알을 낳으면 (콜백으로) 맛있게 먹는 다음과 같은 코드도 이해하고 작성할 수 있습니다.

CompletableFuture<Void> future = CompletableFuture.supplyAsync(() -> {

    System.out.println("꼬기오~ 꼬꼬꼬꼬~ " + Thread.currentThread().getName());

    return EggWithColorAndSize.of().size(5).color("white");

}).thenAccept((egg) -> {

    System.out.println("냠냠냠: " + egg.wannaBe());

});


future.get();

이밖에도 자바 8이 제공하는 Date와 Time API, 애노테이션에 생긴 변화, 메모리 영역의 변화 등 재미있는 내용이 많으니 많은 수강 부탁드립니다.

감사합니다.

지식공유자가 알려주는
강의 수강 꿀팁!
🎓
이런 분들께
추천드려요!
자바 프로그래밍 기초 학습을 마친 개발자 또는 학생
자바 8의 주요 기능을 학습하고 싶은 개발자 또는 학생
📚
선수 지식,
필요한가요?
자바 프로그래밍 기초

안녕하세요
백기선 입니다.
백기선의 썸네일

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

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

주로 자바와 스프링을 사용해서 웹 애플리케이션을 개발하는 것을 좋아하지만 딱히 기술을 가리지는 않습니다.

커리큘럼 총 23 개 ˙ 4시간 56분의 수업
이 강의는 영상, 수업 노트, 첨부 파일이 제공됩니다. 미리보기를 통해 콘텐츠를 확인해보세요.
섹션 0. 소개
섹션 1. 함수형 인터페이스와 람다
함수형 인터페이스와 람다 표현식 소개 14:36
자바에서 제공하는 함수형 인터페이스 16:08
람다 표현식 15:47
메소드 레퍼런스 11:35
섹션 2. 인터페이스의 변화
인터페이스 기본 메소드와 스태틱 메소드 13:57
자바 8 API의 기본 메소드와 스태틱 메소드 15:39
섹션 3. Stream
Stream 소개 15:16
Stream API 17:20
섹션 4. Optional
Optional 소개 18:08
Optional API 18:04
섹션 5. Date와 Time
Date와 Time 소개 16:01
Date와 Time API 19:24
섹션 6. CompletableFuture
자바 Concurrent 프로그래밍 소개 미리보기 15:12
Executors 12:32
Callable과 Future 10:43
CompletableFuture 1 12:37
CompletableFuture 2 16:46
섹션 7. 그밖에
애노테이션의 변화 13:19
배열 병렬 정렬 04:55
Metaspace 09:49
섹션 8. 마무리
요약 03:50
강의 게시일 : 2020년 06월 29일 (마지막 업데이트일 : 2020년 06월 29일)
수강평 총 138개
수강생분들이 직접 작성하신 수강평입니다. 수강평을 작성 시 300잎이 적립됩니다.
4.9
138개의 수강평
5점
4점
3점
2점
1점
VIEW 좋아요 순 최신 순 높은 평점 순 낮은 평점 순 평점 순 높은 평점 순 낮은 평점 순
지토 thumbnail
자바를 다년간 써왔지만 자바8 이후의 문법들에 익숙하지 않고 기존의 문법들만 사용해왔었습니다. 해당 강의 덕분에 새로운 문법과 기능들을 학습할 수 있었고, 시야가 넓어진 것 같습니다. 감사합니다 :)
2020-10-02
지식공유자백기선
잘 수강하셨습니다. 이 강의에서 다룬 기능들은 앞으로 자바를 쓴다면 기본으로 쓰이게 될 기능입니다. 수강평 감사합니다.
2020-10-03
김대희 thumbnail
기선님이 잘하시는건 알겠는데 너무 강의가 성의가 없다는게 느껴지실지 모르겠네요 잘하는거 보여주실라고 하는건지 가르켜 주실라고 하는지 가끔 의문이네요
2021-08-05
hello
"성의 없다" 라는 것은 강의 중에 "뭐라고 해야되나~", "예제가 생각이 안나네~" 등의 말씀들 때문에 그러신 것 같네요
2021-10-01
OMG thumbnail
자바8의 다양한 기능에 대한 핵심을 배울 수 있어서 좋았습니다.
2020-07-28
SeJongDeveloper thumbnail
Thread와 Runnable 이후 잘 모르는구나라고 느꼈고 JVM의 메모리 구조에 대해 부족하구나 느꼈습니다. 부족한 부분은 천천히 학습하겠습니다. 좋은강의 감사합니다.
2021-04-11
petersoh414 thumbnail
자바 기본서를 한번 공부하고도 벽을 느끼면서 강의를 들었는데 조금은 정리가 되가는 기분이라 좋네요
2021-05-01

55,000원

폴더에 추가 1041 공유
지식공유자 : 백기선
총 23개 수업˙총 4시간 56분
평생 무제한 수강
수료증 발급 강의
입문 초급 대상 중급이상
연관 로드맵
이 강의가 포함된 잘 짜여진 로드맵을 따라 학습해 보세요!
지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의를
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스