강의

멘토링

로드맵

Inflearn brand logo image
BEST
개발 · 프로그래밍

/

프로그래밍 언어

더 자바, Java 8

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

(4.9) 수강평 329개

수강생 4,388명

  • 백기선

먼저 경험한 수강생들의 후기

이런 걸 배울 수 있어요

  • 함수형 인터페이스와 람다 그리고 메소드 레퍼런스에 대해 학습합니다.

  • 인터페이스의 기본 메소드와 스태틱 메소드에 대해 학습합니다.

  • 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의 주요 기능을 학습하고 싶은 개발자 또는 학생

선수 지식,
필요할까요?

  • 자바 프로그래밍 기초

안녕하세요
입니다.

92,240

수강생

4,207

수강평

2,010

답변

4.8

강의 평점

20

강의

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

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

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

커리큘럼

전체

23개 ∙ (4시간 56분)

해당 강의에서 제공:

수업자료
강의 게시일: 
마지막 업데이트일: 

수강평

전체

329개

4.9

329개의 수강평

  • namuhuchutong6966님의 프로필 이미지
    namuhuchutong6966

    수강평 3

    평균 평점 4.3

    3

    100% 수강 후 작성

    "講義よりライブコーディングクラスに近い" おそらくほとんどの人は専門講師、教師に授業を受けたことがあるでしょう。 よく洗練された授業進行、豊富な資料など、このようなことを期待するのは難しい講義です。 ただ扱う主題について考えてみて、探してみて自分でやってみて習得できる方には大丈夫な講義だと思います。 私は学生の身分なので追加の時間を割り当てることができましたが、忙しい方は講義の進行があまりないようだと思います。 ただし、最近投稿した講義は、このような問題を改善しているようです。

    • mycatisrockstar님의 프로필 이미지
      mycatisrockstar

      수강평 9

      평균 평점 5.0

      5

      43% 수강 후 작성

      この講義のおかげで、私がJavaを好きになったとしても過言ではありません。ロコテの勉強をするようになりました。やる必要はないような汽船様の思わず言葉が私が持っていたJavaに対する負担感を和らげてよかったです。

      • enni님의 프로필 이미지
        enni

        수강평 26

        평균 평점 5.0

        5

        100% 수강 후 작성

        何人かの受講坪たちのために躊躇して決済しましたが、本物の小学校のように教えてこそ満足する方が多いようですね。 元汽船様が回答する部分においては、しばしば多少不親切だと感じたことがあるが、講義ではいつも声も良くて完璧に準備しておき始める講義ではないが、むしろマイクロソフトに働くエリート開発者もこのように訪ねて行っているんだから、そんな部分まで学ぶ点だと思います。 内容も無条件多いといいんじゃないかと思うんです。 私は時間がなくてまだ汽船様の講義をあまり聞いていませんでしたが、私が今まで聞いたばかりはすべて価格対比満足度高い方だと思います。 小学生が教えるように教えてくれる講義を見たいと思ったら、他のものを見てください。

        • cco24160663님의 프로필 이미지
          cco24160663

          수강평 3

          평균 평점 4.7

          4

          100% 수강 후 작성

          JAVA8についてもう一度考えてみる機会なのでよかったです。新しくできた機能も一度ずつ見せて掛けながら慣れる過程を持つと良かったようです。 コード作成時に一つのクラスで内容を消したというより、授業ごとにパッケージなどを作って進めば、より完璧な講義になりそうです。

          • zito님의 프로필 이미지
            zito

            수강평 6

            평균 평점 5.0

            5

            100% 수강 후 작성

            Javaを長年使ってきましたが、Java8以降の文法に慣れておらず、既存の文法だけを使ってきました。 その講義のおかげで、新しい文法や機能を学ぶことができ、視野が広がったようです。 ありがとう:)

            • whiteship
              지식공유자

              よく受講しました。この講義で取り上げた機能は、今後Javaを書けば基本的に使われることになる機能です。受講評 ありがとうございます。

          ₩55,000

          백기선님의 다른 강의

          지식공유자님의 다른 강의를 만나보세요!

          비슷한 강의

          같은 분야의 다른 강의를 만나보세요!