티스토리 뷰

Language/Java

배열과 메모리

kalza 2018. 8. 26. 04:55

배열은 구성하는 데이터의 자료형에 따라 결정된다.

기본 자료형 int형 타입은 int형이 가질 수 있는 데이터의 범위안에서 값이 몇이 담겼든 4byte를 사용하는데,

3개의 int형 데이터를 갖는 배열이 있다면 3 X 4byte로 계산하여 12byte의 메모리를 쓰게 된다.


이제부터 정말 중요한 부분을 다룬다.

배열의 주소.

기본 자료형의 변수에는 값이 직접적으로 담겨진다.

int a = 120;       

double b = 350.545;

char c = 'a';

a,b,c에는 각각 120 , 350.545 , 'a'의 값이 담기는것이다.


기본 자료형(byte,short,int,long,float,double,char,boolean)이 아닌 모든 변수는 참조타입 변수라고 하는데

값을 직접 담지 않고, 값이 저장된 주소를 담는다.


int[] d = {1,10,100,1000};

d에는 값이 1,10,100,1000이 직접 들어가는게 아니라, 1이 저장된 주소값이 들어가게 된다.


코딩을 통해 직접 확인해보자.



3개의 int형타입의 배열을 선언하고 (8~10 라인)

array1을 콘솔창에 찍어본다.(11 라인) 

array1에 담긴 데이터들이 몇개 있는지 찍어본다 (13 라인)

array1에 담긴 데이터들을 찍어본다 (14 라인)


array3 배열 변수에 array1에 담긴 데이터를 복사한다 (16 라인)

array2 배열 변수에 array1을 대입한다 (18 라인)





array2는 array1의 변수를 대입하니 array1의 주소를 그대로 참조하고 있다.

반면 array3은 데이터만 복사하여 새로운 주소에 데이터가 담겨지고 그 주소를 참조하게 된다.

 




'Language > Java' 카테고리의 다른 글

메서드, 오버로딩  (0) 2018.08.27
클래스, 객체  (0) 2018.08.27
배열  (0) 2018.08.26
특수문자와 서식문자  (0) 2018.08.25
Java 특징 정리  (0) 2018.07.11
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함