[개발일기] 22-07-08

오늘·2022년 7월 8일
0

[개발일기]

목록 보기
76/199

📝 간단하게 쓰는 개발일기

함수형 코틀린

10장을 마무리했다. 펑터, 모나드, 어플리커티브라는 함수형 프로그래밍의 개념에 대해 알아봤다.
11장의 앞 부분을 공부했다. 스트림 소개, 컬렉션과 스트림, 스트림 작업, 프리미티브 스트림에 대해 공부했다.

정리

10장(책보고 정리함)

  • 펑터는 변환하는 방식이나 내용을 매핑하는 것을 정의하는 타입이다.
  • 펑터 타입에 대한 제네릭 인터페이스는 map 함수를 가진다.
  • 모나드는 flatMap을 정의하는 펑터 타입이다.
  • 어플리커티브는 어플리커티브 타입으로 래핑된 T 값을 반환하는 pure 함수와 어플리커티브 타입으로 래핑된 람다를 반환하는 ap 함수 둘을 정의하는 타입이다.

10장의 마지막에 "무서운 이름으로 많은 멋진 개념들을 다뤘지만 그 뒤에는 간단한 아이디어가 있다." 라는 말이 나오는데 나는 함수형 프로그래밍에 대한 개념이 많이 부족해서 그런지 이름 뿐만 아니라 아이디어도 무서웠다..ㅎ
10장은 조금 더 공부를 한 뒤에 다시 이해해 봐야 할 것 같다.

11장

  • (책)스트림이란 여러 집합적인 작업을 수행하기 위한, 요소의 시퀀스에 대한 추상 레이어이다.
  • 컬렉션의 많은 기능들이 스트림에서도 제공된다.
  • 컬렉션은 데이터 구조이지만, 스트림은 데이터 구조가 아니다.
  • 컬렉션은 한 번 생성한 후 계속 사용할 수 있지만, 스트림은 사용할 때 마다 새로 생성해야 한다.
  • Observable은 푸시 기반이지만, 스트림은 풀 기반이다.
  • 프리미티브 스트림은 스트림을 자바의 프리미티브 타입처럼 사용할 수 있게 하기 위해 만들어졌다.
  • 프리미티브 스트림에는 IntStream, LongStream, DoubleStream 등이 있다.
profile
Junior Mobile 개발자

0개의 댓글