참조자료형 - 1. 1차원 배열 (배열의 특징/선언/객체생성/메모리구조)

1. 자바 자료형

 - 자바자료형은 크게 2가지가 존재
 - 기본자료형(8개)
 - 자료형이 곧 값임
 - 값을 있는 그대로 사용하는 자료형 (boolean, byte, short, int, long, float, double, char)
 - 참조자료형(무한개)
 - 자료형이 모여서 만들어진 자료형
 - 값을 조작할 수 있음 → 값이 속성과 기능을 가짐 (배열, 열거, 클래스/인터페이스)

 

2. 배열(Array) (1차원 배열)

 - 여러 개의 자바 데이터를 모아서 관리하는 필통같은 자료형
 - 연관된 데이터를 모아서 관리하기 위해 사용
    ※ 변수 : 하나의 데이터를 저장 , 배열 : 여러 개의 데이터를 저장

 

3. 배열의 두가지 특징

  - 특징1. 동일한 자료형만 묶어서 저장 가능

  - 특징2. 생성 시, 크기를 지정(이후 크기 변경 불가)

 

4. 배열의 선언

- 선언 방법 : 자료형[ ] 변수명 or 자료형 변수명[ ]
    ※ 선언 시, 배열의 첫 번째 특징(동일한 자료형 저장)이 나타나야 함

 

5. 배열의 객체 생성

 - 여러 개의 값을 저장할 수 있는 공간
 - (Heap) 메모리에 생성
    ※ 배열 객체 생성 시, 배열의 두 번째 특징(생성 시, 개수가 지정)이 나타나야 함

// Example
// 다음 a, b, c는 임의로 메모리를 사용함. 따라서 서로 떨어짐
int a = 1;
int b = 2;
int c = 3;

// 배열을 이용하면 모두 붙어서 저장
// 배열의 선언과 객체 생성
// 방법 1. 선언 이후 객체 생성
int[] arr;				// 정수형 배열을 참조할 이름을 만듦
arr = new int[3];			// 정수 3개짜리 배열을 참조함

// 방법 2. 선언과 동시에 객체 생성
int[] arr2 = new int[3];

 

6. 배열 객체의 선언 및 생성시 메모리 구조

    ※ 동적 할당 : 참조형 데이터를 힙 영역에 랜덤하게 할당해 주는 작업

 

7. 배열 객체의 값 대입 및 값 읽기

    ※ 배열의 시작을 0부터 셈

// Example
int[] arr = new int[3];
arr[0] = 10;
arr[1] = 20;
arr[2] = 30;
System.out.println(arr[0]);	// 10
System.out.println(arr[1]);	// 20
System.out.println(arr[2]);	// 30