프로그래밍 패러다임
프로그램, 프로그래밍 언어를 구성하는 방식을 이해할 수 있는 관점을 갖게 해줌
명령형 프로그래밍
프로그래밍의 상태와 상태를 변경시키는 구문의 관점에서 연산을 설명하는 프로그래밍 패러다임
컴퓨터가 수행할 명령들을 순서대로 써 놓은 것
절차적 프로그래밍 : C, C++
Top-Down 방식의 순차적인 처리
프로그램 전체가 유기적으로 연결되도록 만드는 프로그래밍 기법
데이터와 함수를 별개로 취급
객체 지향 프로그래밍 : C++, JAVA, C#
객체들의 모음으로 파악
각각의 객체는 메시지를 주고받고, 데이터를 처리
Bottom-Up 접근 방식을 사용
유연하고 변경이 용이하게 때문에 대규모 소프트웨어 개발에 많이 사용
선언형 프로그래밍
함수형 프로그래밍
함수 호출을 기본적 메커니즘으로 하며 함수를 실제로 계산하는 것뿐만 아니라, 함수에 매개변수로서의 값을 전달하고 함수로부터의 반환값으로 결과 값을 받는 것을 포함하는 형태
특징으로는 불변성, 참조 투명성, 일급 함수, 게으른 평가