토픽 133 / 192·프로그래밍 패러다임
프로그래밍 패러다임 (Programming Paradigm)
프로그래밍 패러다임 (Programming Paradigm)
프로그램을 구성하고 문제를 해결하는 근본적인 사고 방식과 접근 방법론으로, 코드 구조화·추상화·제어 흐름의 원칙을 정의하는 프로그래밍 스타일
목적: 문제 해결 체계화, 코드 품질 향상, 유지보수성 확보, 복잡성 관리
주요 패러다임
- •절차적(Procedural): 순차적 명령어 실행, 함수/프로시저 분리, C/Pascal/Fortran
- •객체지향(Object-Oriented): 객체 중심, 캡슐화/상속/다형성, Java/C++/Python
- •함수형(Functional): 순수함수, 불변성, 고차함수, Haskell/Scala/Clojure
- •선언적(Declarative): "무엇(What)"을 기술, SQL/HTML/Prolog
- •명령형(Imperative): "어떻게(How)"를 기술, C/Java/Python
- •리액티브(Reactive): 데이터 스트림+변화 전파, 비동기, RxJava/Reactor
- •논리형(Logic): 규칙+사실 기반 추론, Prolog
멀티 패러다임 언어: 여러 패러다임 동시 지원, Scala(OOP+FP), Kotlin(OOP+FP), Python(절차적+OOP+FP), JavaScript(절차적+OOP+FP), Rust(절차적+FP)
비교: 절차적(순차/단순/C) vs OOP(객체/재사용/Java) vs FP(함수/불변/Haskell) vs 선언적(선언/추상/SQL)
트렌드: 멀티 패러다임 융합, FP 요소의 OOP 언어 도입(Java Stream/Lambda, Kotlin), 리액티브 프로그래밍 확산
연관: OOP, FP, 디자인 패턴, 소프트웨어 설계, SOLID