선언형 : '무엇을' 풀어내는가에 집중하는 패러다임
함수형 : 선언형 패러다임의 일종. 작은 '순수 함수'들을 쌓아 로직을 형성하고 '고차 함수'를 통해 재사용성을 높인 프로그래밍 패러다임
고차 함수를 쓰기 위해서는 해당 언어가 '일급 객체'라는 특징을 가져야 함
객체를 이용하여 데이터와 메서드를 묶고 이런 객체들간에 통신을 함으로써 프로그램이 동작한다.
처리 속도가 다소 느리며 설계에 많은 시간이 필요하고 테스트가 어렵다.
추상화, 캡슐화, 상속성, 다형성
설계 원칙 : SOLID
일이 진행되는 순서대로 프로그래밍 하는 방법
가독성이 좋으며, 실행 속도가 빠르다.
각 코드가 순서에 민감하게 연결돼있어 모듈화가 어렵고 유지 보수성이 떨어진다.