함수 와 OOP(2)-1

minchan jung·2022년 3월 7일
0

함수 와 OOP

목록 보기
2/4

Closure

Static State : 정적 상태

  • Global : static 변수
  • Main Flow
  • Sub Flow
  • Main Flow ➡️ Routine Create ➡️ Sub Flow
  • Main Flow 변수 : Routine의 argment 참조
  • Static 변수 : Static memory 참조

Runtime State : 실행 상태

  • Global : runtime state
  • Main Flow
  • Sub Flow
  • 함수를 값으로 정의 내릴 수 있게되면서, Runtime State에서 Flow를 동적으로 생성 가능
  • Runtime State에서 함수를 정의 및 실행 가능 ➡️ Sub-flow 발생 가능 in Runtime State
  • Main Flow ➡️ Routine Create ➡️ SubFlow on same Memory, in Runtime State
  • Routine에서 Runtime state, MainFlow 변수 참조 가능
  • Free variable(자유 변수)
  • Scope 생성 = Closure 발생

Closure 생성

  • Routine에서 Free variable 사용시, Routine 함수 return 되기 전까지 Main Flow에서 해당 변수의 메모리 해제가 불가능
  • Free variable이 Routine에 의해 갇힘 현상이 발생
  • Free variable의 Scope가 Routine에서 발생
  • Routine에 의해 Closure가 생성된 것이다.

코드스피츠 함수와 OOP-2

0개의 댓글