책 ‘함수형 사고 : 객체지향 개발자에서 함수형 개발자로 거듭나기 (Functional Thinking)’를 읽고…

결국 for() 대신 map(), filter(), reduce() 많이 쓰라는…
  • OOP는 움직이는 부분을 캡슐화하여 코드 이해를 돕고, FuncP는 움직이는 부분을 최소화하여 코드 이해를 돕는다.
  • 게으른 평가 테스트: print len([2+1, 3*2, 1/0, 5-4])
    • 4가 나오면 게으른 평가, error나면…
  • 게으름의 이점
    • 무한 수열을 만들 수 있다.
    • 저장 시 크기가 줄어든다.
    • 런타임이 좀 더 효율적인 코드를 만들 수 있다.
  • (100개의 함수, 1개의 자료구조)가 (10개의 함수, 10개의 자료구조)보다 낫다.
  • Java 불변성 만들기
    • 모든 필드는 final로.
    • 클래스도 final로.
    • 생성자는 인수 필수.
    • setXXX 메서드 금지