Scope

Dec 20, 2023
Scope
 
  • scope (=범위)
ScopeEx01(클래스)
static (n2=2, m1( ), main) → 클래스명.@@
heap (n1=1, m2( ))
stack (n5=10)
⇒ 어디에서든지 접근 가능
⇒ heap 끼리는 같은 scope여서 접근 가능
⇒ 외부 접근 가능
생명주기 stack < heap < static
생명주기 stack < heap < static
5라인 int n1 = 1 → static이 없기 때문에 heap(new)으로 메모리에 엑세스
6라인 static int n2 = 2 → static으로 바로 메모리에 엑세스
9라인 int n5 = 10 → static인 m1의 메소드 내부에 있기 때문에 stack으로 메모리에 엑세스
5라인 int n1 = 1 → static이 없기 때문에 heap(new)으로 메모리에 엑세스 6라인 static int n2 = 2 → static으로 바로 메모리에 엑세스 9라인 int n5 = 10 → static인 m1의 메소드 내부에 있기 때문에 stack으로 메모리에 엑세스
💡
return 시 해당 main Queue 라인으로 가서 실행 및 종료 후 다음 라인 진행
💡
input = Queue 생성 시 메모리를 해당 라인에 넣는 것
pop = 메모리 값을 CPU로 넘기면서 실행하는 것
main 실행 후 메소드 실행 시 Queue와 stack이 동시 생성
메소드 내부의 변수 ⇒ 지역변수
main 실행 후 메소드 실행 시 Queue와 stack이 동시 생성 메소드 내부의 변수 ⇒ 지역변수
💡
Queue (자료구조) 크기는 라인 수에 비례 Queue - 순서대로 실행 / stack - 임시 저장의 용도로 실행
main Queue 종료 → 프로그램 종료
main Queue 종료 → 프로그램 종료
 
Share article

from-web-developer