hyeonga_code
Java_38_Method/Class Area 본문
- Method/Class Area
- 메소드가 실행되면 클래스 정보가 저장됩니다.
- 저장된 클래스 정보를 분류하여 메소드 데이터를 저장합니다.
- 메소드 데이터를 구분하여 멤버 변수의 데이터 값만 Heap 공간에 저장합니다.
- 메소드를 호출할 때마다 Method Area에 저장된 메소드 정보를 거쳐 Heap/Stack에서 값을 가져옵니다.
- 데이터 값은 각 객체의 this가 관리합니다.
- 공통된 메소드/객체의 정보는 Method Area에 저장됩니다.
- 각각의 메소드 정보는 모든 객체가 공유합니다.
- 프로그램이 종료되는 시점에 메소드 정보는 삭제됩니다.
- 모든 인트턴스 객체가 공유해야하는 변수값을 보관합니다.
- static을 사용하여 Method Area 공간에 데이터를 저장할 수 있습니다.
- static
- 정적
- 모든 인스턴스 객체가 공유해야 하는 정보를 저장합니다.
- 여러 곳에서 사용해도 문제가 되지 않는 정보를 저장합니다.
ex)
CustomApp a = new CustomApp();
a.main();
- new라는 키워드를 사용하지 않고도 사용할 수 있습니다.
- 컴파일 실행하는 것도 예가 될 수 있습니다.
- 소스코드가 실행되기 위해서는 new 키워드로 호출한 뒤 실행해야합니다.
- static으로 선언한 main() 메소드를 Compiler가 사용할 수 있습니다.
- 메모리 업로드 방법
1) 변수 선언 > Stack
2) new > Heap
3) static > Method Area
- 단점
- 메모리 관리가 자동으로 되지 않습니다.
- main 메소드나 공유하는 정보에만 사용할 수 있도록 합니다.
'Java' 카테고리의 다른 글
Java_40_this (0) | 2023.10.01 |
---|---|
Java_39_생성자 (0) | 2023.10.01 |
Java_37_멤버 메소드, static, final, 상속, 오버라이딩, 오브젝트 클래스, super() (0) | 2023.09.29 |
Java_36_멤버 변수 접근 제한 (0) | 2023.09.29 |
Java_35_멤버 필드, 멤버 메소드, 매개 변수, 튜플 (0) | 2023.09.28 |