main메서드 add메서드가 있음.
둘 다 static 인 경우
add 에서 처리되면 main으로 리턴 값 넘기면서 add는 사라짐.
그리고 main 처리가 완료되면 main 또한 사라짐.
그렇게 stack Area가 비면 프로그램 종료
후입선출! stack Area를 보면 후에 만들어진 add가 먼저 나감.
statc 키워드를 둘 중 하나만 가진 경우
main은 static 이기 때문에 main은 기계어코드가 자동으로 static zone에 들어옴.
여기서 add메서드는 method Area의 static zone에 로딩되어 있지않음.
main이 add를 호출할 수가 없는데... 그럼 add메서드를 어떻게 메모리에 올릴까...?
객체를 생성해서! 올리면 되는데
방법...
TPC09 tpc = new TPC09(); 를 통해 TPC09객체를 메모리에 올림!
main메서드는 이미 static이라 메모리에 올라와 있기 때문에 다시 올리지 않음
add는 heap Area 에 영역 만들어짐.
여기서 add는 메서드, 메서드는 method Area에 기게어 코드가 올라감.
non - static zone에!!
non-static zone의 add는 메모리니까 번지가 있음.
그 번지가 heap Area의 add 임.
아.. 변수할당때에 변수목록표 이름,번지가 올라가고 그 번지로 메모리값을 찾는 거였는데 그런 느낌..??
정리 너무 어려운 걸. 차례대로 설명을 못하겠다 순서가 헷갈린다.
흠 어쨋든 new를 통해 만들어진 객체 heap Area에 생성이 됨.
근데 add가 메서드라서 methode Area에 기계어 코드가 올라감.
heap Area는 번지.. method Area의 add를 포인터 하는.
'백엔드개발자 > JAVA: JAVA TPC 강의' 카테고리의 다른 글
생성자 메서드, this와 this() (0) | 2021.10.07 |
---|---|
기본 자료형(PDT)과 사용자 정의 자료형(UDDT) (0) | 2021.10.04 |
변수와 메서드의 관계 (메서드는 변수다) (0) | 2021.09.29 |
변수와 배열 / 1차원,2차원 배열, 가변길이 배열 (0) | 2021.09.29 |
변수, 자료형, 할당 2 (0) | 2021.09.28 |