메소드 영역

- 클래스 사용시 JVM이 해당 클래스 파일을 읽어서 (~.class)

클래스 데이타를 Method Area에 저장한다.

이 때, 해당 클래스의 클래스 변수도 메소드 영역에 생성된다

 

힙 영역

- 인스턴스 생성 공간

EX)인스턴스 변수

 

호출 스택

 

메서드 호출시 -> 호출 스택에 메서드를 저장하기 위한 메모리 할당 -> 해당 메모리는 해당 메서드가 작업을 수행하는

동안에 지역 변수 매개변수들이 저장되는데 사용된다.

메서드가 종료되면 메모리를 반환한다.

 

먼저 실행된 메서드가 가장 늦게 반환된다.

즉, main메소드가 가장 먼저 프로그램 실행시 call stack영역영 가장 아래에 쌓인다.

그다음으로 호출되는 메서드가 차례로 쌓이고 가장 나중에 실행된 메서드가 종료시 부터 메모리가 반환된다.

 

기본형 매개 변수

x = 100;

참조형 매개변수

int x;

 

1. 클래스 메서드 (static 메서드)

클래스이름.해당메서드();

2 .인스턴스 메서드

클래스 변수 객체 = 인스턴스 메서드();

객체.해당메서드();

 

인스턴스 변수는 항상 클래스 멤버를 참조할 수 있다.

하지만 클래스 변수는 클래스 생성시에 생성되는데에 반해

인스턴스변수는 인스턴스 변수를 객체에 담아야 비로소 생성이된다.

따라서

클래스 변수는 인스턴스 변수를 참조하기위해서는 인스턴스 변수가 객체에 담긴후여야한다.

 

'JAVA' 카테고리의 다른 글

추상클래스  (0) 2019.10.30
[JAVA] 추상클래스/인터페이스  (0) 2019.10.08
인스턴스 생성/인스턴스 변수/클래스 변수  (0) 2019.09.04
클래스와 객체  (0) 2019.09.03
1) 변수 , 자료형  (0) 2019.08.26