이번에는 전역변수를 만들었을때의 T 메모리의 구조 변화이다.
전역변수는 static 예약어를 통해 접근할 수 있는데, 이 값은 전역변수 즉 클래스 안에서 어떠한 메서드에서든지 접근이 가능하다는 의미이다.
public class test_static {
static int share;
public static void main(String[] args) {
share = 55;
int k = fun(5, 7);
System.out.println(share);
}
private static int fun(int m, int p) {
share = m + p;
return m - p;
}
}
여기서 share = m + p; 부분에 breakpoint를 걸고 Debug해보았다.
먼저 Window -> Show View -> Expressions 를 통해 새로운 View를 꺼내고,
그 View에서 "Add new Expressions"를 통해 'share'를 적어 추가해준다.
그렇다면 share 값이 55로 출력된다.
이번에는 바로 밑 return m - p; 부분에 breakpoint를 걸고 Debug해보았다.
결과가 다른 것을 볼 수 있다. share에 m + p 값이 대입된 후 12가 되었고,
그 전까지는 55인 것을 Expressions 창을 통해 알 수 있었다.
STS의 디버그 모드를 이용해 T메모리 스택 영역을 살펴보는 방법이었다.
'Programming > Spring_스프링' 카테고리의 다른 글
[스프링] 5. 다중상속과 인터페이스 (0) | 2023.05.22 |
---|---|
[스프링] 4. 클래스 멤버와 객체 멤버, 객체지향의 상속 (0) | 2023.05.19 |
[스프링] 3. 객체지향의 4대 특성, 클래스와 객체의 관계 (0) | 2023.05.19 |
[스프링] 2. STS 설치 및 멀티스레드 (MultiThread) (0) | 2023.05.13 |
[스프링] 1. 프로젝트 생성 및 메모리 구조 확인 (2) | 2023.02.28 |