[JAVA]배열(Array)

신동혁·2022년 8월 12일
0

JAVA

목록 보기
2/16

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여서 데이터의 주소가 출력되지 않는다.

profile
개발취준생

0개의 댓글