프로그래머에게 프로그래밍 관점을 갖게 해주는 역할을 하는 개발 방법론
객체지향 프로그래밍 : 프로그램을 상호작용하는 객체들의 집합으로 볼 수 있게함 함수형 프로그래밍 : 상태값을 지니지 않는 함수값들의 연속
어떠한 언어는 특정한 패러다임을 지원하기도 한다.
jdk 1.8 이전의 자바는 객체지향 프로그래밍을지원, 하스켈은 함수형 프로그래밍을 지원
여러 패러다임을 지원하는 언어
python, C++ , JavaScript 자바도 함수형 지원하기위해 람다, 생성자레퍼런스, 메소드 레퍼런스를 도입 선언형을 위해 stream도 추가
선언형 프로그래밍
선언형 패러다임의 일종.
‘순수함수’를 블록처럼 쌓아서 로직을 구현하고, ‘고차함수’를 통해서 재사용성을 높인 프로그래밍 패러다임
특징
순수함수
고차함수
일급 객체