반응형
250x250
Notice
Recent Posts
Recent Comments
Link
관리 메뉴

Yeonee's Story

[자바/요약정리] 자바의 배열(Array)선언 및 특징 본문

JAVA

[자바/요약정리] 자바의 배열(Array)선언 및 특징

yeonee 여니 2023. 5. 4. 08:25
728x90
반응형
SMALL

배열(Array)

하나의 공간에 여러개의 값을 담을수 있고(단, 같은 자료형의 값으로만 가능함)

배열의 각 인덱스 자리에 실제값이 담긴다.(인덱스는 항상 0부터 시작함)

※ 인덱스란?  배열의 길이이며 저장공간의 갯수를 뜻한다.

.

 

.

 

간단한 예를 들어서 배열에 대해서 생각해보자.

 

만약 한 반 학생들의 시험 점수를 입력받으려면 어떻게 해야 할까?

배열을 모른다는 시점에서 가정했을 때는 score1, score2, score3 ... 반 학생들의 점수를 저장할 변수를 모두 선언해 주셔야 할 것이다.

이런 식으로 코딩을 한다면 어떻게 될까?

학생 수가 10명, 20명일때는 모르겠지만, 한 반이 아닌 전체 학급의 점수를 입력받을 때는 100개 1000의 변수를 일일이 다 선언해줘야 할 것이다. 이런 경우 변수이름을 잘못 타이핑 할 경우도 생기고, 문제가 많을 것이다.

이런 경우 활용할 수 있는 자료구조가 바로 배열이다.

 

배열의 선언

1) int 자료형 배열 생성

int[] a; 혹은 int a[];

 

2) char 자료형 배열 생성

char[] b; 혹은 char b[];

 

3) String 자료형 배열 생성

String[] c; 혹은 String c[];

 

4) double 자료형 배열 생성double[] d; 혹은 double d[];

 

 

 

배열의 특징

한 번 지정한 배열의 크기는 변경 불가능하다.

=> 배열의 크기를 변경해서 더 많은 값을 넣고자한다면, 어쩔수없이 새로운 배열을 만들어줘야한다.

 

항상 고유한 주소값 부여, 기존 생성된 주소와 절대로 겹치지 않는다.

기존에 참고하고 있던 연결이 끊기고 새로운곳 참조.

연결이 끊긴 기존의 배열은 heap영역안에 둥둥 떠다닌다.

일정 시간이 지나면 가비지 컬렉터(GC)가 삭제시켜줌 => 자동 메모리 관리

=> 자바에서 자동메모리관리 특징 : 개발자가 코드에만 신경 쓸 수 있게 도와준다.

 

 

배열 복사

-> 얕은 복사 : 배열의 주소값만을 복사

-> 깊은 복사 : 동일한 새로운 배열을 하나 생성해서 실제 내부값들을 복사

 

이차원배열

일차원 배열 여러개를 하나로 묶은 것

 

이차원배열의 선언

1) 자료형 배열명 [][];

2) 자료형 [][] 배열명;

3) 자료형 [] 배열명 [];

728x90
반응형
LIST