[java 기초] Array

이진영·2023년 6월 14일
0

JAVA 기초

목록 보기
5/9
post-thumbnail

배열이란

동일한 자료형의 데이터를 연속된 공간에 저장하기 위한 자료구조이다. 즉 연관된 데이터를 하나로 묶어 놓은 자료형이라고 볼 수 있다.

일종에 위 그림과 같은 것을 배열이라고 할 수 있다.

위 그림에서 보시면 인덱스 즉 위치의 번호의 숫자는 0부터 시작하고 있는것을 볼 수 있다. 그렇다 만약 내가 배열의 길이를 4라는 길이로 설정을 했다면 해당 Index는 0부터 시작해서 N-1까지의 인덱스가 있을 것이다.


그렇다면 배열의 특징점 및 사용은?

첫 번째 : 배열의 길이는 한번 선언하면 그 이후로 늘릴 수가 없다.

String[] arr = new String[2];

만약 위와 같은 코드로 배열의 길이를 늘릴 수가 없는 자료구조가 되어 버린다. 만약 이러한 데이터의 길이를 조정하고 싶다면은 또 다른 배열을 하나 명시에 값을 옮겨주는 방식만 가능하다.


두 번째 : 배열의 인덱스를 통해 어느 데이터든 조정이 가능하며, 여기서 Index는 유일무이한 식별자를 뜻한다. 일상 생활과 비교를하자면 배열을 선언과 동시에 유일무이한 번호를 발급 받는다.

arr[1];

위와 같은 방법은 인덱스에 해당하는 데이터를 접근하는 방식이다. 그렇다면 유일무이 라고 했기 때문에 인덱스는 유일하지만 데이터라면 안에 데이터가 있어야 한다! 한번 어떻게 생성이 되는지 보자

만약 Int형을 배열로 생성을 했다면 생성과 동시에 0이라는 데이터가 담겨져 있고, String이라면 null이 들어가 있다. --> [null, 1]


그 밖에 하나의 Index위치에 해당하는 공간에 데이터를 접근하는 방식의 위에서도 설명을 했지만 그렇다면 그 공간에 값을 할당은 어떻게 할까?

arr[0] = "2";

위와 같은 방식이 있겠지만 해당 값을 선언하는 것은 최초가 절대 아니다. 이미 생성자를 통해 생성과 동시에 null이라는 데이터가 들어가 있다!! 그렇다면 해당 행위는 덮어씌우기 형식이라고 볼 수 있다.


그 밖에 생성자를 하는 방식뿐만 아니라 다양한 생성 방식이 있다.

// 변수 생성과 동시에 값 할당
int[] arr = {1,2,3,4}; 

// 변수 생성과 동시에 값 할당
int[] arr = new int<>(){1,2,3,4}; 

// 변수 생성과 동시에 값 할당
String[] arrB = new String[2];
String[] arrA = arrB;

// 그 밖에 메소드
// array 길이 출력
System.out.println(arrB.length);

이상으로 개념에 있어서는 중요한 부분들 및 당연시 사용하고 있지만 간과했던 부분을 알아봤다.
사실을 제대로 공부하기 전까지 나는 생성과 동시에 데이터가 없는 줄 알았다 이번에 정리하면서 알게 돼서 좀 더 세심히 알았다고 생각하고 개념을 쌓은 거 같아 기분이 좋다.😊😊


참고

https://web-km.tistory.com/52
https://hongku.tistory.com/55
https://bangu4.tistory.com/193

profile
내가 공부한 것들을 적는 공간

0개의 댓글