프로그래밍 패러다임(Programming Paradigm)
2025. 11. 3. 18:00ㆍProgramming Language
이 글에서는 절차 / 객체 지향 프로그래밍과 함수형 프로그래밍의 개요를 정리한 글입니다.
- 프로그래밍 패러다임
- 절차 지향 프로그래밍 (Procedural Programming)
- 객체 지향 프로그래밍 (Object-Oriented Programming, OOP)
- 함수형 프로그래밍 (Functional Programming, FP)
프로그래밍 패러다임(Programming Paradigm)
코드를 바라보는 관점이자, 프로그램을 구성하는 사고 방식
[ 프로그래밍 패러다임의 이점 ]
- 복잡성 관리 : 프로그램이 커져도 규칙대로 나누고 관리할 수 있습니다.
- 협업 용이성 : 모두가 동일한 방식과 규칙을 기반으로 코드를 작성해 협업이 원활해집니다.
- 예측 가능한 코드 : 정해진 규칙을 따라 코드를 작성하므로 동작 예측이 수월합니다.
[ 프로그래밍 패러다임의 종류 ]
- 절차 지향 프로그래밍 (Procedural Programming)
- 객체 지향 프로그래밍 (Object-Oriented Programming, OOP)
- 함수형 프로그래밍 (Functional Programming, FP)
절차 지향 프로그래밍 (Procedural Programming)
초기 프로그래밍 패러다임으로, 명령어의 연속적인 실행으로 프로그램을 구성합니다.
ex) C
- 명령어 순서에 따라 데이터를 다루는 방식입니다.
- 코드 한 부분 수정시 연쇄적인 수정이 동반되며, 프로그램 규모가 커질 때 유지 보수성이 낮아집니다.
객체 지향 프로그래밍 (Object-Oriented Programming, OOP)
절차지향 한계를 극복하기 위한 패러다임으로, 객체라는 독립적 단위로 프로그램을 구현합니다.
ex) Java, C++, Python
- 서로 연관된 데이터와 함수를 객체라는 단위로 구성하고 관리합니다.
- JS의 객체지향은 전동적인 OOP언어와는 다르게, 프로토타입 기반의 객체지향 언어입니다.
함수형 프로그래밍 (Functional Programming, FP)
함수형 프로그래밍 또한 OOP와 동일하게 복잡성을 다루기 위한 방법 중 하나입니다.
ex) JavaScript
- OOP는 데이터와 기능을 객체로 묶어 관리했다면, FP는 순수 함수를 조합해 프로그램을 만드는 것에 집중합니다.
- 함수를 일급 객체 취급하며, 순수 함수 중심으로 프로그램을 작성해 예측 가능성과 안정성을 높입니다.
'Programming Language' 카테고리의 다른 글
| [Python] * 연산의 오해와 진실, 얕은/깊은 복사 (0) | 2025.01.05 |
|---|---|
| [Python] pip를 사용한 외장 라이브러리 삭제 (1) | 2024.12.27 |
| [Java] Java의 Collection Framework에 대해 (0) | 2024.11.21 |
| Python 리스트 언패킹 (0) | 2024.06.19 |