[인프런] 김영한의 자바 입문 - 9

김다은·2024년 11월 26일

JAVA

목록 보기
13/14
post-thumbnail

이 게시글은 인프런 "김영한의 자바 입문" 강의를 바탕으로 작성했습니다:)

배열

1. 배열 변수 선언

  • 배열을 사용하려면 int[] students 와 같이 배열 변수를 선언해야 한다.

2. 배열 생성

  • new int[5] 라고 입력하면 총 5개의 int형 변수가 만들어진다.
  • new는 새로 생성한다는 뜻이고, int[5]int형 변수 5개라는 뜻이다.

3. 배열 초기화

  • 자바는 배열을 생성할 때 그 내부값을 자동으로 초기화한다.
  • 숫자는 0, booleanfalse, Stringnull로 초기화 된다.

4. 배열 참조값 보관

  • new int[5]로 배열을 생성하면 배열의 크기만큼 메모리를 확보한다.
    - int 형을 5개 사용하면 4byte * 520byte를 확보한다.
  • 배열을 생성하고 나면 자바는 메모리 어딘가에 있는 이 배열에 접근할 수 있는 참조값(주소)(x001)을 반환한다.
int[] students = new int[5]; //1. 배열 생성
int[] students = x001; //2. new int[5]의 결과로 x001 참조값 반환
students = x001 //3. 최종 결과

5. 배열은 0부터 시작한다

  • 인덱스는 0부터 시작한다. 따라서 사용가능한 인덱스의 범위는 0 ~ (n-1)이 된다.

기본형 vs 참조형

자바의 변수 데이터 타입을 가장 크게 보면 기본형과 참조형으로 분류할 수 있다. 사용하는 값을 직접 넣을 수 있는 기본형, 그리고 방금 본 배열 변수와 같이 메모리의 참조값을 넣을 수 있는 참조형으로 분류할 수 있다.

  • 기본형(Primitive Type) : int, long, double, boolean처럼 변수에 사용할 값을 직접 넣을 수 있는 데이터 타입을 기본형이라 한다.
  • 참조형(Reference Type) : int[] students 와 같이 데이터에 접근하기 위한 참조(주소)를 저장하는 데이터 타입을 참조형이라 한다. 객체나 클래스를 담을 수 있는 변수들도 모두 참조형이다.
  • 기본형은 선언과 동시에 크기가 정해진다. 따라서 크기를 동적으로 바꾸거나 할 수는 없다. 반면에 앞서 본 배열과 같은 참조형은 크기를 동적으로 할당할 수 있다.
  • 기본형은 사용할 값을 직접 저장한다. 반면에 참조형은 메모리에 저장된 배열이나 객체의 참조를 저장한다. 이로 인해 참조형은 더 복잡한 데이터 구조를 만들고 관리할 수 있다. 반면 기본형은 더 빠르고 메모리를 효율적으로 처리한다.

향상된 for문

각각의 요소를 탐색한다는 의미로 for-each문이라고도 많이 부른다.

 for (변수 : 배열 또는 컬렉션) {
 // 배열 또는 컬렉션의 요소를 순회하면서 수행할 작업
}
 //향상된 for문, for-each문
for (int number : numbers) {
 System.out.println(number);
}
  • 향상된 for문은 배열의 인덱스를 사용하지 않고, 종료 조건을 주지 않아도 된다. 단순히 해당 배열을 처음부터 끝까지 탐색한다.
  • 향상된 for문은 배열의 인덱스를 사용하지 않고도 배열의 요소를 순회할 수 있기 때문에 코드가 간결하고 가독성이 좋다.
profile
꾸준함으로 성취하는 개발자

0개의 댓글