Categories: Java 언어Korean

Java 총 정리[31. 가변 배열]

가변 배열

지금까지 다차원 배열에 대해 이해를 하고 문제를 풀어보고 있습니다. 여기까지만 해도 다차원 배열에 대한 내용을 많이 공부를 한 것이지만 다차원 배열이지만 생소한 개념이 있습니다. 정말 마지막으로 다차원 배열에서 이야기 할 내용입니다. 궁금하시지 않으신가요? 다차원 배열에 내용에 방점이 될 수 있는 내용 저 또한 궁금하기 때문에 같이 보시죠.

다차원 배열을 떠나 배열을 쓰면서 단점으로 느낄 수 있는 부분이 지금은 아실 수 있다고 생각을 합니다. 바로 고정으로 값을 정하고 배열을 만드는 부분이 바로 배열에 최대 약점으로 느끼실 수 있습니다. 그럼 이런 부분을 해결을 하고 싶겠죠? 이런 단점을 완벽하게 해결을 한 것은 아니지만 배열에서 조금이나 해결할 수 있게 해주는 배열이 있습니다. 이 글을 읽고 단점이 되는 고정된 값을 좀 더 유동적으로 사용할 수 있는 배열을 알 수가 있습니다.

가변 배열입니다. 고정이 되는 값의 느낌과 다르게 가변이라는 단어가 들어 감으로써 뭔가 유동적으로 배열을 사용을 할 수 있다는 것을 느끼실 수 있을 것입니다. 이 글을 끝까지 읽으신다면 가변 배열에 대해서 완벽하게 이해를 하실 수 있습니다.

가변 배열 이란?

가변 배열이란 배열의 인덱스를 가변적으로 추후에 원하는 데로 길이를 지정을 할 수 있는 것을 말합니다. 하지만 몇 가지 제약 사항이 존재를 합니다. 

  1. 다차원 배열에서만 가변 배열이 사용 가능합니다.
  2. 다차원 배열에 첫 인덱스 길이는 무조건 먼저 지정을 하고서 사용을 해야 합니다.
  3. 데이터가 추가로 들어 온다고 해서 배열의 길이가 능동적으로 바뀌는 것이 아니라 개발자가 상황에 맞게 배열의 뒤에 인덱스 길이를 정하고 지정을 해주는 방식으로 동작이 됩니다.

위에 상황을 참고해서 가변 배열을 사용을 해야합니다.

가변 배열 사용 방법

위에 설명처럼 먼저 다차원 배열 생성을 할 때 첫 번째 인덱스 길이만 지정을 하고 그 뒤에 인덱스 길이 배열 객체들은 추후에 선언을 하여 처음 선언된 배열에 연결을 하는 방식으로 만들어 집니다. 

이런 가변 배열의 값을 대입하거나 탐색을 하려면 length 명령문을 무조건적으로 사용을 해야 합니다. 그 이유는 알다시피 배열의 길이가 각각 다를 수 있기 때문입니다.

위에 설명처럼 전체 배열의 길이를 모두 세팅이 되지 않아도 사용은 가능합니다. 하지만 사용을 할 수 있는지는 확인 꼭 필요합니다. 그때도 length을 쓰면 확인을 할 수가 있습니다. 또한 2번째 설명처럼 만약에 처음에 [2][2]로 배열을 생성해서 연결을 했지만 추후에 [2][3]의 새로운 배열을 연결하면 이전에 연결이 됐던 배열은 사라지고 새로운 배열만 연결이 되게 됩니다. 여기에서 다시 한번 프로그래밍에 제일 중요한 덮어쓰기를 생각을 하신다면 이해를 하실 수 있다고 생각을 합니다.

Dolphin

Recent Posts

Java 총정리[97. Java GUI]

Java GUI Java GUI에 대해서 이번 걸음에서 배움으로써 GUI에 전반적인 지식과 Java GUI를 구현하는 방법…

7개월 ago

Java 총정리[96. Java TCP 통신 프로그램 구현]

Java TCP 통신 프로그램 구현 Java TCP 통신 프로그램 구현을 위해서 이전 걸음에서 쓰레드에 대한…

7개월 ago

Java 총정리[95.쓰레드 통신]

쓰레드 통신 이전 걸음에서 쓰레드의 임계영역에 대해서 같이 공부를 했습니다. 동기화에 대한 개념을 계속적으로 하고…

7개월 ago

Java 총 정리[94. 쓰레드 임계영역]

쓰레드 임계영역 이전 걸음에서 쓰레드의 동기화에 대해서 같이 공부를 했습니다. 동기화에 대한 전반적인 내용을 공부하고…

8개월 ago

Java 총 정리[93. 쓰레드 동기화]

쓰레드 동기화 이전 걸음에서 계속 쓰레드에 대해서 공부를 하고 있습니다. 쓰레드는 상당히 중요한 개념이기 때문에…

8개월 ago

Java 총 정리[92. 쓰레드 join()]

쓰레드 join() 이전 걸음에서 쓰레드의 전반적인 실행 흐름에 대해서 공부를 했습니다. 이제 배운 실행 흐름…

8개월 ago

This website uses cookies.