본문 바로가기
TIL

static

by 은지:) 2024. 1. 28.
728x90
반응형

 

 

 

c# 같아서... 아마 맨처음 시작되는게 main 함수 같음

 

 

 

1. new Solution() 같이 앞에 new 가 할당되는 건 메모리 어디에 할당되는가?

-> heap에 위치함

 

2. Solution.Foo1() 은 어떻게 호출 되는 가?

-> 메모리 코드가 올라가야하는데 어떻게 호출댐?

-> static 키워드는 따로 힙이 아니라 static 전용 메모리 공간이 있음

컴파일러는 static 붙은 키워드 함수, 변수, 클래스들을 프로그램 실행 동시에 메모리 공간에 싹 적재 시킴

이건 프로그래밍이 시작-> 끝날 때까지 절대로 지워지지 않음

그래서 호출 가넝함

메모리 적재는 프로그래머가 아니라 컴파일러가 직접 해주기 때문임

 

 

 

3. static 규칙

 

static 이 앞에 붙은 함수도 당연히 프로그래밍 시작하자마자 메모리에 적재됨

 

 

 

 

foo1() 은 이미 static 키워드가 있어서 먼저 메모리에 올라가 있음

안에 있는 nonSataicVar 변수는 static 에 올라가지 않았기 때문에 메모리 공간에 없을 가능성이 있음

그래서 에러 뱉는 거임

 

 

 

 

 

 

 

 

 

 

출처

https://youtu.be/O6Y4vSrWrUI?si=2WrDVg0Ux97N5TTe

728x90
반응형

'TIL' 카테고리의 다른 글

얕은 복사 깊은 복사 다시보기  (0) 2024.01.28
자바스크립트 메모리 관리 // 호이스팅, 스코프 체이닝  (2) 2024.01.28
싱글톤  (1) 2024.01.28
커링  (1) 2023.12.26
dart4 - class2  (0) 2023.12.10

댓글