배열

강진구·2024년 3월 10일

JAVA기초

목록 보기
10/14

배열의 선언과 생성

배열은 같은 타입의 변수를 사용하기 편하게 하나로 묶어둔 것이다

배열 변수 선언

  • 배열을 사용하려면 int[] students;와 같이 배열 변수를 선언해야 한다
  • 일반적인 변수와 차이점은 대괄호가 들어간다는 점이다
  • 배열 변수를 선언한다고해서 아직 사용할 수 있는 배열이 만들어진 것은 아니다

배열 생성

  • 배열을 사용하려면 배열을 생성해야 한다
  • new int[5]라고 입력하면 오른쪽 그림과 같이 5개의 int형 변수가 만들어진다
  • new는 새로 생성한다는 뜻이고, int[5]는 int형 변수 5개라는 뜻이다 따라서 int형 변수 5개를 다룰 수 있는 배열을 새로 만든다는 뜻이다

배열과 초기화

  • new int[5]라고 하면 총5개의 int형 변수가 만들어진다
    자바는 배열을 생성할 때 그 내부값을 자동으로 초기화한다
  • 숫자는 0, boolean은 false, String은 null로 초기화 된다

배열 참조값 보관

  • new int [5]로 배열을 생성하면 배열의 크기만큼 메모리를 확보한다

    int형을 5개 사용하면 4byte * 5 -> 20byte를 확보한다

  • 배열을 생성하고 나면 자바는 메모리 어딘가에 있는 이 배열에 접근할 수있는 참조값(주소)을 반환한다

    여기서 x001이라고 표현된 것이 참조값이다

  • 앞서 선언한 배열 변수인 int[] students에 생성된 배열의 참조값을 보관한다
  • int students변수는 new int[5]로 생성된 배열의 참조값을 가지고 있다
    • 이 변수는 참조값을 가지고있다, 이 참조값을 통해 배열을 참조할 수 있다, 참조값을 통해 메모리에 있는 실제 배열에 접근하고 사용할 수 있다
    • 배열을 생성하는 new int[5] 자체에는 아무런 이름이 없다 그냥 int형 변수를 5개 연속으로 만드는 것이다

배열 사용

인덱스

  • 배열의 위치를 나타내는 숫자를 인덱스(index)라 한다

배열은 0부터 시작한다

  • new int[5]와 같이 5개의 요소를 가지는 int형 배열을 만들었다면 인덱스는 0,1,2,3,4가 존재한다
  • 배열의 요소를 5개로 생성했지만 인덱스는 0부터 시작한다
  • 사용가능한 인덱스의 범위는 0~(n-1)이된다 따라서 students[4]가 배열의 마지막 요소이다

배열 값 대입과 값 읽기

배열 값 대입

배열 값 읽기

  • 배열을 사용하면 이렇게 참조값을 통해서 메모리상에 있는 실제 배열에 접근하고 인덱스를 통해 원하는 요소를 대입&찾기 할 수 있다

기본형 VS 참조형

  • 기본형: 값을 직접 넣을 수 있는 데이터 타입을 기본형이라 한다
    • 선언과 동시에 크기가 정적으로 정해진다 따라서 크기를 동적으로 바꾸거나 할 수는 없다
    • 사용할 값을 직접 저장한다
    • 빠르고 메모리를 효율적으로 처리한다
  • 참조형: 데이터에 접근하기 위한 참조(주소)를 저장하는 데이터 타입을 참조형이라 한다
    • 크기를 동적으로 할당할 수 있다, 이런 것을 동적 메모리 할당이라 한다
    • 메모리에 저장된 배열이나 객체의 참조를 저장한다
    • 복잡한 데이터 구조를 만들고 관리할 수 있다
profile
기록하고,발전하자

0개의 댓글