7. JAVA 배열 (Array)
배열이란 같은 타입의 값들을 한번에 저장하기 위한 방법으로, 같은 타입의 변수들을 여러개 선언하지 않고
사용하기 위해 효율적으로 값을 관리하는 방법입니다.
1. 배열의 목적
☞
변수를 여러 개 선언하면 이름도 여러 개 생깁니다.
이 때 각 저장공간을 관리하기가 불편하죠.
따라서 n칸 배열을 한 번 선언하면 저장공간도 여러 개 생기고, 이름도 한 개이기 때문에 관리하기 편합니다.
☞
규칙성이 없는 값에 규칙성을 부여하기 위해서입니다.
2. 배열의 선언
자료형[] 배열명 = {값1, 값2,...}; //어떤 값을 넣을 지 알 때 사용
자료형[] 배열명 = new 자료형[칸수];//어떤 값을 넣을 지 모를 때 사용
자료형[] 배열명 = null; //몇 칸 만들 지도 모를 때
배열명 = new 자료형[칸수];
※new : Heap 메모리에 할당
※자바에서 배열은 항상 Heap메모리(동적 메모리)에 할당되기 때문에
메모리 상, 동적배열만 존재합니다.
3. 배열의 구조
arData라는 이름의 저장공간은 한 개 만들어지며, 여기에는 한 개의 값만 담을 수 있습니다.
5개의 값을 담기 위해서는 5칸이 필요하며, 이는 Heap메모리에 할당됩니다.
5칸의 저장공간 중 첫번째 저장공간의 주소값이 arData 저장공간으로 들어가며,
다음 주소에 접근하기 위해서 +n을 합니다.
예를 들어, arData + 2는 1이라는 값이 담긴 저장소의 주소값이 되며,
*(arData + 2)는 해당 주소에 가서 읽어온 1이라는 값이 됩니다.
JAVA에서는 직접 주소에 접근하는 연산자가 없기 때문에 위와 같은 식을 []로 치환하여 사용하며,
arData[2]로 사용합니다.
각각의 방 번호는 index라고 부르며, 배열은 시작주소를 가지고 있기 때문에 인덱스 번호는 항상 0부터 시작됩니다.
4. 2차원 배열
2차원 배열은 왜 사용될까요??
그 이유는!! 1차원 배열을 여러 개 선언할 때 관리하기 힘들기 때문에 2차원 배열을 한 번 선언합니다.
하지만 2차원 배열은 메모리 낭비가 심하므로 선호하지 않는 단점이 있습니다.
※ 2차원 배열의 선언 방법
※ 2차원 배열의 구조
arr이란 이름의 2차원 배열이 있을 때, arr은 2차원 배열의 주소값이고,
1차원 배열인 arr[0]은 0행의 주소값, arr[1]은 1행의 주소값을 가지고 있습니다.
따라서 2차원 배열의 길이는 위와 같이 나오게 됩니다.
이상으로 java의 1차원 배열, 2차원 배열을 알아보았습니다.
'KoreaIt Academy > JAVA' 카테고리의 다른 글
9. JAVA의 클래스(Class) , 싱글턴(Singleton) (0) | 2021.07.14 |
---|---|
8. JAVA의 메소드(Method), 오버로딩 (0) | 2021.07.13 |
6. JAVA의 조건문과 반복문 (0) | 2021.07.10 |
5. JAVA의 연산자(Operator) (0) | 2021.07.08 |
4. JAVA의 형변환(Casting) (0) | 2021.07.08 |
댓글