🔴 둘다 데이터를 담는 역할
배열 : 동일한 데이터를 담는 동일한 구조
클래스 : 서로 다른 데이터를 담는 이질적인 구조
> > 동일한 기억공간을 메모리에 연속적인 구조로 만들어서 사용하는 자료구조는 무엇인가?
→ 배열
객체지향프로그래밍에서 이질적인 구조를 설계하는 도구는 무엇인가?
→ 클래스
배열과 클래스의 공통점으로 자바에서 배열과 클래스를 무엇으로 취급하는가?
→ 객체(Object)
배열과 클래스로 객체를 생성할 때 공통적으로 사용하는 연산자는 무엇인가
→ new
//인스턴스 메서드 일때 객체 생성 및 호출
MyUtill ut = new MyUtill();
ut.hap(a,b);
//static(클래스) 메서드 일때 객체 생성 및 호출
MyUtil.hap(a, b);// → 권장사항
MyUtill ut = new MyUtill();
ut.hap(a,b);
※ MyUtill 클래스의 생성자를 private로 해서 위의 방법을 금지하게도 가능
메서드의 기계어 코드(바이트 코드)가 할당되는 메모리 공간
static 멤버들의 할당되는 메모리 공간
객체가 생성되는 메모리 공간
가비지컬렉터(GC)에 의해서 메모리가 수집된다.
※ 자바의 가비지 컬렉터(Garbage Collector) : 메모리 관리를 담당하는 JVM의 일부,
프로그램이 동적으로 할당한 객체들 중에서 사용되지 않는 객체들을 찾아내고, 해당 객체들이 차지하는 메모리를 해제하여 시스템 자원을 효율적으로 관리한다.
LIFO구조(메서드의 호출 순서)
지역변수, 매개변수들이 만들어지는 공간

클래스를 사용하는 시점에서 딱 한번 메모리에 로딩하기 위해서 사용하는 키워드는 무엇인가?
→ static
메서드가 호출되면 기계어 코드가 push되고 실행되는 메모리 공간(LIFO 구조)
현재 프로그램이 실행되고 있는 상태를 파악할 수 있다.
→ Call Stack Frame Area
객체 생성을 막으려면 어떻게 하면 되는가?
→ 생성자에 private를 붙인다.
객체생성에 의해 메모리에 만들어진 객체를 무엇이라고 하는가?
→ 인스턴스
jvm이 사용하는 메모리 모델 4가지
→ 메서드, 스택, 힙, 리터럴 풀