Stack, Heap, Class : 네이버 블로그
스터디하던 중.. 본인이 유일하게 개념설명 할 수 있는 영광을 누리게 되어 그 이후 이 개념에 대해 더 공부하게 되었다. 아직 인스턴스화가 안되었음에도 불구하고 클래의 스태틱 필드를 알 수 있다. (다른패키지) 부차적으로 알게 된 것 다른 패키지의 클래스파일을 참조하려면 클래스 앞에 public 접근제어자가 붙어야한다. 또, 한 클래스 파일 내에 public class는 하나만이어야 한다. 없어도 되긴 한다. * 기초 용어: 객체의 클래스 멤버 중 변수를 필드, 함수는 메서드라 한다. Stack 현재 실행되고 있는 함수는 여기에 있다. 또한 지역변수가 저장된 곳이다. 예를들어 란 코드가 있으면 n1은 참조변수(주소를 저장하는 포인터변수같은 애)이고 실제로는 new 연산자가 붙으면 그것이 Heap메모리에 객체가 동적할당된다. Heap 위에서 설명한 것과 같이 붕어빵의 서식지, 실제 객체가 있는 곳이다. 모든 Instance는 여기에 있다. Instance의 필드만 해당되는지는 모르겠다. 저자 남궁성 강의중에.. Instance의 메소드는 그렇지 않다는 뉘앙스의 내용을 본 적이 있기에.. 사실 이부분 때문에 공부를 시작했다. 다시 적도록 하겠다. Class Memory(Area) = Method Area = Static Area = MetaSpace = code Area = ... 이름이 마니마니 많다. 붕어빵틀 class / interface의 static으로 선언된 필드/메서드가 있는 곳이다. JVM 실행시 바로 실행되어 정보가 메모리에 올라간다. 앞서 설명한 Node라고 선언문을 적지 않아두 바로 실행된다. 인스턴스 메서드를 호출했는데 클래스를 통해서 호출이 되었다.. 힙에 저장되는 것이 아닌 것일까?... 우선, static / non-static 힙, 스택 등의 개념을 알면 부수적인 개념, static method에서는 instance method를 호출 할 수 없다는 것 등의 내용을 자연스럽게 이해할 수 있다. 자바의 정석 저자가 한달동안 고생해서 제작했다는 플래시들 중 하나이다.. 제목에 플래시가 들어가서 자바가 아니라 플래시인 줄 알고 사람들이 구매하지 않았다고... 약 3-4시간 가량 강의, 구글링 찾아보았지만 실패 결국 질문을 올림. https://cafe.naver.com/javachobostudy / Java정석 QnA , philzSW 방금 답글 달림! 정확히 10분 걸렸다.. 자주 애용하자! |