new = 힙이라는 영역에 메모리를 생성하는 역활.
*참조타입기준*
= 기준으로 좌측은 스택, 오른쪽은 힙
public static void main(String[] args) {
//배열 : 기본데이터 타입으로 배열생성(값타입배열). 예> int[], double[], char[],....8개
int[] arr1 = new int[3]; // 배열생성. 초기값이 0으로 세팅.
for(int i=0; i<3; i++) { // 0, 1, 2 - 3개
System.out.println("arr1[" + i + "] : " + arr1[i]);
}
arr1[0] = 10; // 0 -> 10
arr1[1] = 20;
arr1[2] = 30;
for(int i=0; i<3; i++) { // 0, 1, 2 - 3개
System.out.println("arr1[" + i + "] : " + arr1[i]);
}
// 초기값 0.0
double[] arr2 = new double[3]; // 힙영역의 생성된 기억장소의크기. 8 * 3 = 24바이트
for(int i=0; i<3; i++) { // 0, 1, 2 - 3개
System.out.println("arr2[" + i + "] : " + arr2[i]);
}
arr2[0] = 0.1;
arr2[1] = 0.2;
arr2[2] = 0.3;
for(int i=0; i<3; i++) { // 0, 1, 2 - 3개
System.out.println("arr2[" + i + "] : " + arr2[i]);
}
/*----------------------------------------------------*/
// 클래스로 생성한 배열 : 객체배열. 메모리 참조하는 구조가 조금 다르다.
String[] arr3 = new String[3];
//객체배열(클래스배열)은 기본값이 null이다. 참조하고 있지 않다.
for(int i=0; i<3; i++) { // 0, 1, 2 - 3개
System.out.println("arr3[" + i + "] : " + arr3[i]);
}
//힙영역
arr3[0] = "1월";
arr3[1] = "2월";
arr3[2] = "3월";
for(int i=0; i<3; i++) { // 0, 1, 2 - 3개
System.out.println("arr3[" + i + "] : " + arr3[i]);
}
}
arr1[0] : 0
arr1[1] : 0
arr1[2] : 0
arr1[0] : 10
arr1[1] : 20
arr1[2] : 30
arr2[0] : 0.0
arr2[1] : 0.0
arr2[2] : 0.0
arr2[0] : 0.1
arr2[1] : 0.2
arr2[2] : 0.3
arr3[0] : null
arr3[1] : null
arr3[2] : null
arr3[0] : 1월
arr3[1] : 2월
arr3[2] : 3월
'JAVA' 카테고리의 다른 글
싱글톤 패턴 (디자인패턴) (0) | 2022.09.13 |
---|---|
다차원 배열: 2차원 배열 (0) | 2022.09.07 |
반복문 for , While 문 (0) | 2022.09.06 |
조건문 (if), Switch, Math클래스 (0) | 2022.09.06 |
|| (or) , and(&&), 이항(>>,<<,>>>) 연산자 내용 정리 (0) | 2022.09.06 |