관리 메뉴

김종권의 iOS 앱 개발 알아가기

[Clean Architecture] 3. 패러다임 개요 (구조적, 객체지향, 함수형) 본문

Clean Architecture/Clean Architecture 기초

[Clean Architecture] 3. 패러다임 개요 (구조적, 객체지향, 함수형)

jake-kim 2021. 3. 5. 01:04

구조적 프로그래밍 (structured programming)

  • `구조적 프로그래밍`이란 제어흐름(if/then/else, do/while/until)의 직접적인 전환에 대해 규칙을 부과하는 것

객체 지향 프로그래밍 (object-oriented programming)

  • `객체 지향 프로그래밍`이란 제어흐름의 간접적인 전환에 대해 규칙을 부과하는 것
  • 구조적 프로그래밍보다 2년 먼저 등장
  • ALGOL언어에서 stack의 frame을 heap으로 옮기면 함수 호출이 반환된 이후에도 함수에서 선언된 지역 변수가 오랫동안 유지될 수 있음을 발견 -> 이러한 함수가 클래스의 '생성자'로 지정 / 지역 변수는 인스턴스 변수로 / 중첩 함수는 메서드로 / 함수 포인터를 특정 규칙에 따라 사용하는 과정을 통해 다형성 등장

함수형 프로그래밍 (functional programming)

  • `함수형 프로그래밍`이란 할당문에 대해 규칙을 부과하는 것
  • 세 패러다임 중에 가장 먼저 생성
  • `함수형 프로그래밍`의 핵심은 람다 계산법 (`symbol`의 값이 변경되지 않는 개념인 불변성)

* 세 가지 컴포넌트의 관심사: 함수, 컴포넌트 분리, 데이터 관리

 

(다음 장에서 세 가지 각 컴포넌트 개념 계속)

 

* 출처: clean architecture

Comments