[TIL] #14 Modern Java

phdljr·2023년 10월 23일
0

TIL

목록 보기
14/70

병렬 처리

  • 멀티코어에서 빠름

함수형 프로그래밍

  • 프로그램을 순수한 함수의 모음으로 바라보고 구현한다.
    • 특정한 데이터에 의존하지 않는다. ⇒ 순수 함수
    • 람다식

특징

  • 검증이 쉽다
  • 성능 최적화가 쉽다
    • input에 대한 output을 재사용할 수 있음 ⇒ 캐싱
  • 동시성 문제 해결이 쉽다
    • 함수는 다른 값의 변경을 야기하지 않음

함수형 프로그래밍 아이디어

  • 함수를 일급 값으로 본다.
    • 즉, 함수를 객체나 변수처럼 사용한다.
    • 메소드는 메소드만 따로 객체나 변수처럼 사용하질 못하므로, 2급 객체다.
  • 람다: 익명 함수
  • 스트림
    • 데이터 처리연산을 지원하도록 소스에서 추출된 연속된 요소
    • 데이터를 처리하는데 초점을 맞춘 인터페이스

스트림의 특징

  • 원본 데이터를 변경하지 않는다.
  • 일회용이다.

스트림에서 자주 쓰이는 함수

  • filter()
    • 조건에 맞는 것만 반환
  • map()
    • 모든 요소를 가공해서 반환
  • forEach()
    • 요소들 하나하나 처리하는 함수

Optional

  • null 처리를 도와주는 클래스
profile
난 Java도 좋고, 다른 것들도 좋아

0개의 댓글