본문 바로가기
책/클린 아키텍처

3장 패러다임 개요

by 오오오오니 2025. 3. 17.

3장 패러다임 개요

비어 있음
2024년 4월 11일

구조적 프로그래밍

최초로 적용된 패러다임으로 비버 데이크스트라가 발견했다. 데이크스트라는 goto 문장이 프로그램 구조에 해롭다는 사실을 제시하고 if/then/else 와 do/while/until 과 같은 구조로 대체했다.
구조적 프로그래밍은 제어흐름의 직접적인 전환에 대해 규칙을 부과한다.

객체 지향 프로그래밍

요한 달과 크리스텐 니가드에 의해 등장했다. 이들은 알골 언어와 함수 호출 스택 프레임을 힙으로 옮기면, 함수 호출이 반횐된 이후에도 함수에서 선언된 지역변수가 오랫동안 유지될 수 있음을 발견했다. 함수가 클래스의 생성자가 되었고 지역 변수는 인스턴스 변수, 그리고 중첩 함수는 메서드가 되었다. 함수 포인터를 특정 규칙에 따라 사용하는 과정을 통해 필연적으로 다형성이 등장했다.
객체 지향 프로그래밍은 제어흐름의 간접적인 전환에 대해 규칙을 부과한다.

함수형 프로그래밍

최근에 들어서야 도입되었지만 가장 먼저 만들어졌다.
알론조 처치가 람다 계산법을 발명했는데, 함수형 프로그래밍은 이런 연구에 영향을 받아 만들어졌다.
람다 계산법의 기초가 되는 개념은 불변성으로 심볼의 값이 변경되지 않는다는 개념이다.
함수형 언어에는 할당문이 전혀 없다는 뜻이기도 하다.
함수형 프로그래밍은 할당문에 대해 규칙을 부과한다.
이 세 패러다임은 goto문, 함수 포인터, 할당문을 앗아간다.
패러다임의 역사로부터 얻을 수 있는 교훈은 아키턱처와 관계가 있다.
세 가지 패러다임과 아키텍처의 세 가지 큰 관심사가 어떻게 서로 연관되는지에 주목하자.

' > 클린 아키텍처' 카테고리의 다른 글

11장 DIP: 의존성 역전 원칙  (0) 2025.03.18
9장 LSP: 리스코프 치환 원칙  (0) 2025.03.18
7장 SRP: 단일 책임 원칙  (0) 2025.03.18
5장 객체 지향 프로그래밍  (0) 2025.03.17
1장 설계와 아키텍처란?  (0) 2025.03.17