오브젝트 00_프로그래밍 패러다임

ggyu_55·2023년 9월 16일
0

메모

목록 보기
32/46
post-thumbnail

패러다임(paradigm) 이라는 말은 '모델', '패턴', 또는 '전형적인 예'를 의미하는 파라데이그마(paradeigma)라는 그리스어에서 유래하였다. 즉, '하나의 예를 복사하도록 허용'하는 것을 의미하였으나 토마스 쿤의 "과학혁명의 구조"의 출간 이후 '한 시대의 사회 전체가 공유하는 이론, 방법, 문제의식 등의 체계'를 의미 하도록 바뀌었다.

쿤은 해당 서적에서 과학이 단순 계단식, 적층식 발전이 형태를 이루는 것이 아니라 새로운 발견이 기존의 과학적 견해를 붕괴시키는 혁명을 통해 발전해 왔다고 주장하였다. 이를 '패러다임의 전환' 이라고 부른다. (대표적으로 천동설->지동설, 양자역학의 발견 등이 있겠다)


프로그래밍 패러다임

프로그래밍 패러다임(Programming paradigm) 이라는 용어를 처음 사용한 사람은 로버트 플로이드다. 프로그래밍 패러다임은 특정 시대의 개발자 공동체에 의해 수용된 프로그래밍 방법문제 해결 방법, 프로그래밍 스타일 이라고 할 수 있다.

개발자 공동체가 동일한 프로그래밍 스타일과 모델을 공유함으로써 불필요한 의견 충돌을 방지한다. 또한 이 패러다임을 미리 공부함으로써 동일한 규칙과 방법을 공유하는 개발자 로 성장할 수 있다.

각 프로그래밍 언어가 제공하는 프로그래밍 스타일은 해당 언어가 채택하는 프로그래밍 패러다임에 따라 달라진다. 따라서 프로그래밍 언어와 프로그래밍 패러다임은 분리해서 설명할 수 없다.

중요한 점은 프로그래밍 패러다임과 쿤의 패러다임이 완전히 동일하지는 않다는 점이다. 쿤은 상이한 두 가지 패러다임이 함께 공존할 수 없다고 주장하였지만, 프로그래밍에서는 서로 다른 패러다임이 하나의 언어 안에서 공존함으로써 서로의 장단점을 보완 하는 경향을 보인다. 예를 들어, 절차형 패러다임과 객체지향 패러다임을 접목시킨 C++와 함수형 패러다임과 객체지향 패러다임을 접목시킨 Scala 가 있다. 이처럼 하나 이상의 패러다임을 수용하는 언어를 다중 패러다임 언어(Multiparadigm Language) 라고 부른다.


참고 :: 오브젝트 :: 코드로 이해하는 객체지향 설계

0개의 댓글