728x90
반응형
c# 같아서... 아마 맨처음 시작되는게 main 함수 같음
1. new Solution() 같이 앞에 new 가 할당되는 건 메모리 어디에 할당되는가?
-> heap에 위치함
2. Solution.Foo1() 은 어떻게 호출 되는 가?
-> 메모리 코드가 올라가야하는데 어떻게 호출댐?
-> static 키워드는 따로 힙이 아니라 static 전용 메모리 공간이 있음
컴파일러는 static 붙은 키워드 함수, 변수, 클래스들을 프로그램 실행 동시에 메모리 공간에 싹 적재 시킴
이건 프로그래밍이 시작-> 끝날 때까지 절대로 지워지지 않음
그래서 호출 가넝함
메모리 적재는 프로그래머가 아니라 컴파일러가 직접 해주기 때문임
3. static 규칙
static 이 앞에 붙은 함수도 당연히 프로그래밍 시작하자마자 메모리에 적재됨
foo1() 은 이미 static 키워드가 있어서 먼저 메모리에 올라가 있음
안에 있는 nonSataicVar 변수는 static 에 올라가지 않았기 때문에 메모리 공간에 없을 가능성이 있음
그래서 에러 뱉는 거임
출처
728x90
반응형
'TIL' 카테고리의 다른 글
얕은 복사 깊은 복사 다시보기 (0) | 2024.01.28 |
---|---|
자바스크립트 메모리 관리 // 호이스팅, 스코프 체이닝 (2) | 2024.01.28 |
싱글톤 (1) | 2024.01.28 |
커링 (1) | 2023.12.26 |
dart4 - class2 (0) | 2023.12.10 |
댓글