참조타입이란
[객체의 번지를 참조하는 타입으로 배열, 열거, 클래스, 인터페이스 타입을 말한다. ]
기본 타입 vs 참조 타입
<데이터타입>
기본타입
ㄴ정수, 실수, 논리 리터럴을 저장하는 타입
- 정수타입 - byte, char, short, int, long
- 실수타입 - float, double
- 논리타입 - boolean
- 실제 값을 변수 안에 저장
참조타입
ㄴ객체의 번지를 참조 하는 타입
- 배열타입
- 열거타입
- 클래스
- 인터페이스
-메모리의 번지를 값으로 갖는다.
int age = 25;
double price = 100.5;
정수, 실수 기본타입으로 값을 직접 Stack영역에 저장한다.
String name = "자바"
String hobby = "넷플릭스"
String 클래스 변수인 name과 hobby는 힙 영역에 String 객체 주소 값을 가지고 있다.
<heap 영역>에 String객체 "자바"와 "넷플릭스"가 생성된다.
생성되는 주소가 만약 각각 동래, 남포동 이라면,
<Stack 영역>에는 name에는 동래, price에는 남포동이라고 저장 되어 있음.
그리고 Stack 영역에 저장된 주소(동래, 서면)이 Heap영역의 String 객체를 참조한다.
'5. 참조타입' 카테고리의 다른 글
5.6.10_ 향상된 for문 (0) | 2020.05.01 |
---|---|
5.6.8_객체를 참조하는 배열 (1) | 2020.04.30 |
5.6.7_다차원 배열 (0) | 2020.04.30 |
5.6.6_커맨드 라인 입력 (0) | 2020.04.30 |
5.6.1~5_배열, 배열 선언, 배열길이 (1) | 2020.04.26 |