[Java] 배열(Array)
programming/java

[Java] 배열(Array)

5. 배열(Array)

 

5.1 배열이란?

5.1.1 배열의 정의

다수의 데이터를 저장하고 처리하기 위하여 같은 자료형의 여러 변수를 하나의 묶음으로 다루는 것

 

예) 단독주택과 아파트

 

5.1.2 대량의 데이터를 처리할 때 유용

 

 

5.2 배열의 선언과 생성

5.2.1 배열참조변수

자료형[] 배열참조변수;

배열참조변수는 stack 영역에 생성됨

int num;
선언방법 선언 예
타입[] 변수이름; int[] score;
String[] name;
타입 변수이름[]; int score[];
String name[];

 

5.2.2 배열의 생성

배열참조변수 = new 자료형[데이터의 개수];

new로 생성한 배열 데이터는 heap 영역에 생성됨

num = new int[5];

 

5.2.3 배열참조변수의 선언과 배열 생성을 한꺼번에 하는 방법

자료형[] 배열참조변수 = new 자료형[데이터의 개수];

int[] num = new int[5];
int[] score;			// 배열을 선언한다(생성된 배열을 다루는데 사용될 참조변수 선언).
score = new int[5];		// 배열을 생성한다(5개의 int 값을 저장할 수 있는 공간 생성).
// cf. 위의 두 문장은 int[] score = new int[5]; 와 같이 한 문장으로 줄여 쓸 수 있다.

cf. JVM(Java Virtual Machine)의 구조

 

  1. Java Source
  2. Java Compiler
  3. Class Loader: 클래스의 내용을 메모리에 적재하는 기능
  4. Execution Engine: 바이트 코드 해석 기능
  5. Runtime Data Area: 운영체제에서 할당받은 메모리 공간
    1. Class 영역: method, code, static, constant
    2. Stack 영역: method 호출, 지역변수
    3. Heap 영역: 동적 메모리 할당 공간, 인스턴스, 배열
    4. Native method 영역: C언어 함수 공간
    5. pc register 영역: 현재 실행중인 부분의 명령어와 주소가 저장

 

[Stack 영역]

후입선출(Last In First Out)

method 호출, 지역변수 저장 등에 사용되는 메모리 영역