오브젝트 - 조영호
- 도서정보: 오브젝트 - 알라딘
패러다임?
- 모델, 패턴, 예를 의미하는 그리스어 파라데이그마(paradeigma)에서 유래
- 과거엔 표준적인 모델을 따르거나 모방하는 상황을 가리키는 제한적인 상황에서 사용했음
- 현대엔 한 시대의 사회 전체가 공유하는 이론이나 방법 등의 체계를 의미함
패러다임 전환?
과거의 패러다임이 새로운 패러다임에 의해 대체됨으로써 방향과 성격이 변하는 것을 의미함.
- 예시: 천동설 → 지동설
프로그래밍에서의 패러다임
프로그래밍 패러다임
이란 용어를 처음 사용한건 로버트 플로이드
특정 시대의 어느 성숙한 개발자 공동체에 의해 수용된 프로그래밍 방법과 문제 해결 방법,일프로그래밍 스타일
-
어떤 프로그래밍 패러다임을 사용하느냐에 따라 해결해야할 문제를 바라보는 방식과 프로그램 작성방법이 달라짐
-
개발자 공동체가 동일한 프로그램링 스타일과 모델을 공유할 수 있게 함으로써 불필요한 부분에 대한 의견 충돌을 방지함
-
프로그래밍 패러다임을 교육시킴으로써 동일한 규칙과 방법을 공유하는 개발자로 성장할 수 있도록 준비시킴
-
프로그래밍 언어와 프로그래밍 패러다임은 분리할 수 없음
- C언어는 절차형 패러다임
- Java는 객체지향 패러다임
- LISP는 함수형 패러다임
프로그래밍 패러다임과 쿤의 패러다임이 다른점
프로그램 패러다임은 상이한 패러다임이 공존할 수 있다.
- 절차형 패러다임과 객체지향 패러다임을 접목한 C++
- 함수형 패러다임과 객체지향 패러다임을 접목한 Scala
→ 이러한 언어를 다중패러다임 언어라고 부름
프로그래밍 패러다임은 비교 가능하다.
- 프로그래밍 패러다임은 기존 개념의 단점을 보완해서 새로운 패러다임이 생겨난다.
- 절차형 패러다임을 보완한 객체지향 패러다임
- 기존 패러다임을 폐기시키는 혁명적인 과정을 거치지 않는다. 오히려 발전적이다.
- 다른 프로그래밍 패러다임을 배우는 것은 도움이 된다.
No silver Bullet.