본문 바로가기
2020/이것이 자바다.

5. 참조 타입

by woohyun22 2020. 9. 3.

5.1 데이터 타입 분류


자바에서의 데이터 타입은 크게 기본타입과 참조타입으로 나뉨

기본타입은 정수,실수,논리 등 int,double이고 참조타입에 대해서 함 비벼보자.


일단 둘의 차이는 기본타입을 이용해서 선언된 변수는 실제 값을 변수안에 저장하지만

참조 타입인 배열,열거,클래스,인터페이스를 이용해서 선언된 변수는 메모리의 번지를 값으로 갖고, 번지를 통해 객체를 참조한다는 뜻에서 참조 타입이라고 부른다.


일반 타입은 스택영역에 생성되고 참조타입은 힙영역에 생성된 객체 주소값을 가지고 있다.

= 결국 일반 타입이나 참조 타입 둘다 스택영역에서 생성되지만 참조타입은 힙영역에 객체 주소를 참조하고있다.


5.2 메모리 사용 영역

JVM이 시작되면 JVM은 메모리영역을 (메소드 영역, 힙 영역, 스레드 영역)으로 구분해서 사용한다. 헷갈리면 새로운 엉덩이로 외우자 new - heap, 나머지는 int - stack이겠지 뭐.


5.2.1 메소드 영역은 JVM이 시작할때 생성되고 모든 스레드가 공유하는 영역이다.


 힙 영역은 객체와 배열이 생성되는 영역이다 ex) new 

 여기서 생성된 객체와 배열은 JVM 스택 영역의 변수나 다른 객체의 필드에서 참조한다.

 참조하는 필드나 변수가 없다면 JVM은 Garbage Collector를 실행시켜 쓰레기 객체를 

 힙 영역에서 제거한다.


5.5 String 타입

이것도 헷갈리면 a[]b = new a[] 형식으로 외웠었던걸로 기억한다

ex) int[] array = new int[]; 

여기서 중요해 보이는거는 x.length나 

boolean result = x1.equals(x2); 가 쓰이지 않을까 싶다.


후에 또 정리하도록 한다. - 이건 나중에 최종 수정시 지울것

main메소드에 매개값으로(String[] args)는 왜 쓰이는지 9.8일 정리할 것
















필드란?

728x90

'2020 > 이것이 자바다.' 카테고리의 다른 글

4. 조건문과 반복문  (0) 2020.09.03
3. 연산자  (0) 2020.09.03
2. 변수와 타입  (0) 2020.09.03
1. 자바 시작하기  (0) 2020.08.12

댓글