[java]배열(array)

1. 배열( Array )

java에서 new연산자 없이 데이터표현만으로 객체가 되는 타입이 있다. 바로 String과 Array다.
( class는 new연산자로 객체를 만듬)

배열의 특징

  • 다수의 데이터를 하나의 변수로 관리 가능
  • 0부터 시작하는 index를 이용해 관리 가능
  • 기본타입과 참조타입으로 배열 생성 및 활용 가능
  • 배열 생성 시 length라는 배열 크기값을 보유한 변수 자동 생성
  • 생성된 배열크기 수정 불가

1.1 표현법

타입 [ ] 변수
혹은
타입 변수 [ ]

1.2 배열과 메모리

배열뿐만 아니라 배열과 같은 String이나 다른 참조타입은 내장타입과 메모리에 저장되는 방식이 다르다.

1.2.1 내장타입의 메모리 저장방식

  1. int a=1; 라면
  2. a라는 변수명은 스택에 저장된다.
  3. 스택에 있는 a안에 데이터 1이 저장된다.

결국 print(a)는 a가 가지고 있는 데이터 1이 출력된다.

1.2.2 배열,참조타입의 메모리 저장방식

  1. int[] a={1,2,3}; 라면
  2. a라는 변수명은 스택에 저장된다.
  3. {1,2,3}데이터는 힙메모리에 저장된다.
  4. 힙메모리에 저장된 {1,2,3}의 주소가 스택에 저장된 a에 저장된다.

결국 print(a)는 a가 가지고 있는 데이터 (1,2,3)의 주소가 출력된다.

1.2.3 조금 다른 String

String 또한 참조타입의 한 종류로써 위 과정만 보면 같은 과정을 반복했을 때, String도 데이터의 주소값이 출력되어야 한다. 하지만 특별한 설정을 통해 String은 그냥 데이터 자체가 출력되게 만든 class여서 데이터의 주소가 출력되지 않는다.

results matching ""

    No results matching ""