Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1주차 스터디 : Chapter 3. 람다 표현식 #3

Open
xlffm3 opened this issue Feb 19, 2021 · 13 comments
Open

1주차 스터디 : Chapter 3. 람다 표현식 #3

xlffm3 opened this issue Feb 19, 2021 · 13 comments

Comments

@xlffm3
Copy link
Member

xlffm3 commented Feb 19, 2021

기간

  • 2021.02.19 ~ 2021.02.26

진행자

  • 케빈
@xlffm3
Copy link
Member Author

xlffm3 commented Feb 21, 2021

공부한 내용

느낀점 or 궁금한점

  • 함수형 인터페이스 최고... 다만 동일한 위치에서 함수형 인터페이스를 인수로 받는 메서드를 오버로딩하는 것은 주의해야겠다.

@jaeseongDev
Copy link
Member

공부한 내용

느낀점 or 궁금한점

  • 전반적인 람다 표현식에 대해서 배울 수 있었다. 하지만 이 람다 표현식을 실전에서 어떻게 활용해야 할 지가 감이 안잡혔다. 앞으로 남은 챕터들을 더 읽어보면서 차근차근 익혀나가봐야겠다.

@KJunseo
Copy link
Member

KJunseo commented Feb 24, 2021

공부한 내용

[도서][모던 자바 인 액션] - 람다 표현식

느낀점 or 궁금한점

  • 매번 인텔리제이가 변환해주는 식으로 람다식을 사용해왔었다. 이번 학습을 통해 100% 이해했다고 생각하긴 힘들지만 람다식이 어떤 것인지에 대해 감을 잡을 수 있었던 것 같고, 대략적인 원리를 알 수 있어서 좋았다.

  • 116page에 나오는 헬퍼 메서드가 무엇을 뜻하는 건지 잘 모르겠다.

  • 함수형 인터페이스 Supplier가 왜 생겼는지 궁금하다. 기존에 Callable이 존재하고, 코드만 보면 둘의 차이는 예외를 throws 해주냐 안해주냐인데, Callable의 무슨 부분 때문에 Supplier가 생겼는지 궁금하다. 또 109page 예제에 나오는 PrivilegedAction의 경우 Supplier와 완전 동일한 것 같은데 왜 이렇게 나누어 놓은 건지 궁금하다.
    참고 링크: Supplier와 Callable (링크 내에서 Supplier와 Callable 검색해보시면 바로 찾을 수 있습니다!)

@FunctionalInterface
public interface Callable<V> {
    V call() throws Exception;
}
@FunctionalInterface
public interface Supplier<T> {
    T get();
}
public interface PrivilegedAction<T> {
    T run();
}
  • 람다가 실행시 익명클래스로 변환되는 건가 궁금해서 찾아봤습니다. 저는 잘 이해를 못했지만 참고하시라고 링크 올립니다!

참고 링크:
람다의 내부동작 #1
람다의 내부동작 #2

@thisisyoungbin
Copy link
Member

공부한 내용

CHAPTER 3. 람다 표현식

느낀점 or 궁금한 점

  • 3.9 비슷한 수학점 개념 부분은 이해하지 못했다. 저자가 건너뛰어도 된다했으니 건너뛴다.
  • 함수형 인터페이스 마다 다른 함수 디스크립터가 항상 헷갈렸는데 이번 기회를 통해 다시 한 번 정리해볼 수 있었다.
  • 박싱과 언박싱의 개념에 대해 새로 배웠다. 비용이 소모된다는 점도 흥미로웠다.
  • IDE에서 형식 검사를 자동으로 해주기 때문에 가볍게 읽다가 람다도 예외처리도 해줘야 한다는 것을 배웠다.

@Rok93
Copy link
Member

Rok93 commented Feb 24, 2021

공부한 내용

Chap03. 람다 표현식

느낀점 or 궁금한 점

  • 자바 8에서 제공하는 함수형 인터페이스 들을 정리해야겠다는 생각이 들었었는데, 이번 기회에 제대로 정리한거 같다.
  • 람다식 외부의 값을 가져와서 쓸려면 불변 값만 쓸 수 있는 것으로 알고 있었는데, 꼭 final 키워드가 아니더라도 사용할 수 있다는 것을 알게 됌

@binghe819
Copy link
Collaborator

binghe819 commented Feb 25, 2021

공부한 내용


느낀점 or 궁금한 점

  • IDE에 의존한 람다 표현식을 사용했었는데, 내부 동작 방식과 왜 람다를 사용해야하는지 조금은 알게되어 좋다.
  • 개인적으론 람다는 부수효과를 발생시키지 않고 함수형 패러다임에 맞게 매개변수만 사용하는 것이 바람직하다고 생각든다. 하지만 외부의 값을 가져와 사용할 때 final로 해도 참조변수의 내부 인스턴스 멤버는 수정이 가능하다. 즉, 부수효과를 발생시킬 수 있다.. 조심해야할 듯 싶다.
  • 서로 다른 함수형 인터페이스를 같은 위치의 인수로 받는 메서드들을 다중정의해서는 안 될 것 같다.
  • 디폴트 메서드가 람다 메서드 체이닝에 사용되는 것이 인상적이었다. 또한, 이 방식으로 파이프라인을 구축하는 것이 신기했다.. 스트림을 많이 사용했지만, 내부 구현은 잘 모르는데 이것과 연관이 있을 것 같다는 생각이 들었다. (아닐수도..ㅎ)

@dusdn1702
Copy link
Collaborator

공부한 내용

느낀점 or 궁금한 점

  • 아무 생각없이 사용하던 람다의 정식 명칭과 사용법에 대해서 알게 되어서 좋았다.
  • 실행 어라운드 패턴이 정확히 어떤 의미인지 이해가 되지 않는다 ㅠㅠ 예제에 보면 선언하고 생성하고 사용하는 건 알겠는데, 정리/마무리 코드 이 부분은 어디인지..?
  • 9장에서 자세히 나온다는 디폴트 메서드가 궁금하다..
  • 적분은 변태같다.

@xrabcde
Copy link
Collaborator

xrabcde commented Feb 25, 2021

공부한 내용

느낀점 or 궁금한 점

  • 함수형 인터페이스가 아직은 잘 이해가 되지 않는다...
  • 형식 추론과 메서드 참조는 정말 똑똑한 기능인 것 같다.
  • 미션을 하면서 메서드 참조로 변환이 안 되는 람다 표현식도 있었는데 그 부분은 더 공부해봐야겠다.

@ohjoohyung
Copy link
Member

공부한 내용

느낌점 or 궁금한 점

  • 무심코 사용해왔던 람다 표현식의 개념을 정리할 수 있어 좋았다.
  • 자바에 있는 다양한 함수형 인터페이스에 대해 알게 되었다.
  • 람다 표현식에서 지역 변수를 사용할 경우 제약이 있다는 것을 알게 되었다. 주의해야겠다.

@pika96
Copy link
Member

pika96 commented Feb 25, 2021

공부한 내용

느낀점 or 궁금한 점

  • 람다가 나오기 이전 코드부터 람다, 메서드 참조까지 한 단계씩 코드를 발전시키는 과정을 통해 더 잘 이해할 수 있었다.
  • 자바가 제공하는 다양한 함수형 인터페이스에 대해 알게 되었다.
  • 함수 디스크립터가 무엇일까?
  • 왜 함수형 인터페이스를 인수로 받는 메서드에만 람다 표현식을 사용할 수 있을까?
  • 실행 어라운드 패턴과 람다의 정확한 상관관계가 무엇일까?

@kixtaxwax
Copy link
Member

공부한 내용

느낀점 or 궁금한 점

  • 람다를 스트림에만 끼워 쓰는 줄 알았는데 함수형 인터페이스라는 것이 있다는 사실을 처음 알게 되어 기쁘다.
  • 챕터에서 다루는 주제뿐만 아니라 부수적인 지식들을 많이 얻을 수 있어서 매우 좋았다. 스터디하길 정말 잘했다!
  • 람다를 자유자재로 다룰 수 있으려면 의식적인 연습은 필수인 것 같다.

@bimppap
Copy link

bimppap commented Mar 1, 2021

공부한 내용

느낀 점 or 궁금한 점

  • 이번 로또 미션에서 함수형 인터페이스 Supplier를 이용해 수동/자동 티켓 구매 기능을 구현했는데 구현 과정이 책에서 설명한 실행 어라운드 패턴을 따라가고 있어서 신기했다. 나중에 내가 쓴 코드를 설명할 때 좀 더 전문적으로 설명할 수 있을 것 같다.
  • 3.5 형식 검사, 형식 추론, 제약 파트는 솔직히 지금도 이해가 잘 안 된다... 대상 형식이라는 특징이 왜 같은 람다 표현식이라도 호환되는 추상 메소드를 가진 다른 함수형 인터페이스를 사용할 수 있게 만드는 걸까? 시간 날 때 다시 읽고 좀 더 찾아보려고 한다.

@Joyykim
Copy link
Member

Joyykim commented Mar 5, 2021

공부한 내용

느낀 점 or 궁금한 점

  • 람다의 대상 형식을 통한 형식 검사/추론 방법이 흥미로웠다. 람다를 쓰다보면 마법처럼? 동작하는 순간들이 있었는데 이번 챕터에서 그런 비밀을 알게돼서 재밌었다

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests