hyeonga_code

Java_38_Method/Class Area 본문

Java

Java_38_Method/Class Area

hyeonga 2023. 9. 30. 05:59
반응형


 - 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 메소드나 공유하는 정보에만 사용할 수 있도록 합니다.

반응형