배열 : 같은 타입의 변수를 사용하기 편하게 하나로 묶어둔 것
배열 선언
int[] students; // 배열 선언
students = new int[5]; //배열 생성
: 배열을 생성하면 자동으로 내부 값이 초기화 됨 ( int - 0 / boolean - false / String - null )
: 배열을 생성하고 나면 자바는 메모리 어딘가에 있는 이 배열에 접근할 수 있는 참조값(배열의 시작 주소)를 반환함 (students에 참조값을 보관함) - 참조값을 확인하고 싶으면 System.out.println(students);를 해보면 됨
인덱스 : 배열의 위치를 나타내는 숫자로 배열은 0부터 시작함
배열은 왜 참조형을 사용하는가? (동적 메모리 할당)
: 기본형 변수들은 모두 사이즈가 명확하게 정해져 있으나, 배열은 동적으로 사이즈를 변경할 수 있음
: 예를 들어서 Scanner를 사용해서 사용자 입력에 따라 size변수의 값이 변하고, 생성되는 배열의 크기도 달라질 수 있음. 이런 것을 동적 메모리 할당이라 함. 기본형은 선언과 동시에 사이즈가 정적으로 정해지지만, 참조형을 사용하면 이처럼 동적으로 크기가 변해서 유연성을 제공할 수 있음.
: 참조형은 메모리에 저장된 배열이나 객체의 참조를 저장함. 이로 인해 참조형은 더 복잡한 데이터 구조를 만들고 관리할 수 있으나 기본형은 더 빠르고 메모리를 효율적으로 처리함.
배열 리펙토링
리펙토링 : 기존의 코드 기능은 유지하면서 내부 구조를 개선하여 가독성을 높이고, 유지보수를 용이하게 하는 과정을 의미함. 이는 중복을 제거하고 복잡성을 줄이며, 이해하기 쉬운 코드로 만들기 위해 수행됨. 리펙토링은 버그를 줄이고, 프로그램의 성능을 향상시킬 수도 있으며 코드의 설계를 개선하는 데에도 도움이 됨.
배열의 길이 : .length( )
- 해당 값은 조회만 가능하고 대입은 할 수 없음
배열 초기화 : 배열은 {}를 사용해서 생성과 동시에 편리하게 초기화 하는 기능을 제공함.
int[] students;
students = new int[]{90, 80, 30, 20}; // 배열 생성과 초기화
int[] students = new int[]{90, 80, 30, 20}; //선언과 생성을 한 줄로도 가능
배열은 {}만 사용해서 생성과 동시에 편리하게 초기화 하는 기능을 제공하나, 아래 예시처럼 배열 변수의 선언을 한 줄에 함께 사용할 때만 가능함.
int[] students = {90,30,20,80};
2차원 배열
: 행(row)과 열(column)로 구성된 배열
int [][] arr = new int[2][3];
'PS > Java' 카테고리의 다른 글
[ JAVA ] 자바란? - JDK, 컴파일&실행, IDE, (0) | 2025.07.07 |
---|---|
[ JAVA ] 기본 문법 - 메서드 (0) | 2024.10.19 |
[ JAVA ] 기본 문법 - Scanner (0) | 2024.10.19 |
[ JAVA ] 기본 문법 - 스코프(변수의 접근 가능한 범위), 형변환 (0) | 2024.10.19 |
[ JAVA ] 기본 문법 - 조건문 (0) | 2024.10.19 |