log.Sehee
프로그래밍 패러다임 (Programming paradigm) 본문
프로그래밍 패러다임
: 프로그래밍 스타일, 전체적인 프로그래밍 방식
프로그래밍을 구성하는 요소들을 어떤 관점으로 보고 이해하는지,
어떤 관점을 가지고 개발을 할 지 결정하는데 도움을 주는 것
종류
명령형 프로그래밍 (Imperative Programming)
- 객체지향형 프로그래밍(OOP, Object-Oriented Programming)
- 절차지향형 (PP, Procedural Programming)
선언형 프로그래밍 (Declarative Programming)
- 논리형 (Logic Programming)
- 함수형 (FP, Functional Programming)
명령형 프로그래밍 (Imperative Programming)
: 어떤 일을 어떻게 수행할 것인지에 대해 관점을 둔 프로그래밍
1. 객체지향형 프로그래밍(OOP, Object-Oriented Programming)
: 기본 단위 '객체'를 만들고 데이터와 메소드의 상호관계 등 객체 간 상호작용으로 개발하는 프로그래밍 기법
직관적이며 유지보수가 쉽다. (C++, JAVA, C# 등)
2. 절차지향형 (PP, Procedural Programming)
: 위에서 아래로 순차적 진행, 프로그램이 유기적으로 연결되도록 구성하는 프로그래밍 기법
프로시저 호출의 개념을 바탕으로 한다. (C언어 등)
선언형 프로그래밍 (Declarative Programming)
: 어떤 것을 나타낼 것인지에 대해 관점을 둔 프로그래밍
논리형 (Logic Programming)
: 해결의 '속성들’에 주목하는 프로그래밍 기법을 지향하는 프로그래밍 기법
함수형 (FP, Functional Programming)
: 작은 문제를 해결 하기 위한 ‘함수’ 단위로 개발을 하는 기법을 지향하는 프로그래밍 기법
순수함수
- 동일한 인자가 주어졌을 때 항상 같은 값을 리턴하는 함수
- 스레드에 안전하고 병렬적인 계산이 가능
- 코드의 블록을 이해하기 위해 일련 상태 갱신을 따라갈 필요가 없고 국소 추론만으로 코드 이해 가능
- 모듈적인 프로그램은 독립적으로 재사용할 수 있는 컴포넌트로 구성
- 입력과 결과가 분리되어 있으며 재사용성이 높다
고차함수
- 함수를 매개변수로 받는 함수
- 함수를 반환 값으로 사용하는 함수
- Map, Filter, Reduce ..
Comments