MySprtlty
로그인
MySprtlty
로그인
동적 스코프 vs 정적 스코프
MySprtlty
·
2022년 8월 30일
팔로우
0
0
📌동적 스코프
📌정적 스코프
📌비교
ETC
목록 보기
1/6
📌동적 스코프
명칭 foo와 연결된 대상체(메모리 공간)가 언제나 하나만 존재한다.
따라서 동일한 명칭을 함수 내부에서 선언할 땐, 원래 대상체 값을 다른 곳에 저장하고 새 값을 저장한다.
문제는 이상태에서 내부적으로 foo를 참조하는 함수를 호출한다면, 함수는 명칭-대상체 대응표를 확인하고 caller의 foo를 참조한다.
즉, 명칭-대상체 대응표가 소스 어디서나 참고할 수 있는 공용 공간에 놓이게 된다.
즉, 동적 스코프는 어디서 함수를 호출하느냐에 따라 값이 변한다. (스코프가 변한다.)
📌정적 스코프
Lexical Scope라고도 한다.
현대 언어는 거의 모두 정적 스코프를 사용한다.
함수마다 명칭-대상체 대응표를 갖는다.
즉, 각 함수는 서로의 지역 대상체를 참조할 수 없다.
명칭-대상체 대응표는 그 명칭을 선언한 함수 내에서만 유효하므로 다른 함수를 호출했을 때, 그 함수는 caller의 foo를 참조할 수 없다.
📌비교
가장 큰 차이점은 다음과 같다.
동적 스코프
정적 스코프
함수가 어디서 호출되느냐에 따라 결정된다.
함수가 어디에 정의되어 있느냐에 따라 결정된다.
MySprtlty
2Co 4:7
팔로우
0개의 댓글
댓글 작성