프로그래머에게 프로그래밍 관점을 갖게 해주는 역할을 하는 개발 방법론

객체지향 프로그래밍 : 프로그램을 상호작용하는 객체들의 집합으로 볼 수 있게함 함수형 프로그래밍 : 상태값을 지니지 않는 함수값들의 연속

어떠한 언어는 특정한 패러다임을 지원하기도 한다.

jdk 1.8 이전의 자바는 객체지향 프로그래밍을지원, 하스켈은 함수형 프로그래밍을 지원

여러 패러다임을 지원하는 언어

python, C++ , JavaScript 자바도 함수형 지원하기위해 람다, 생성자레퍼런스, 메소드 레퍼런스를 도입 선언형을 위해 stream도 추가

선언형과 함수형 프로그래밍


선언형 프로그래밍

함수형 프로그래밍

순수함수

고차함수

일급 객체