Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- DB
- 정보처리기사
- oracle
- 도커
- 필기
- MVC 패턴
- java 기초
- 쿠버네티스
- Flutter
- 데이터베이스
- github
- 마크다운
- DDL
- mybatis
- 기본 API
- view
- ORACLE 기초
- 쿠버네티스 기본 개념
- DB 모델링
- docker 소개
- java
- 기초 선택자
- docker
- dql
- 깃허브
- 웹개발 기초
- SQL
- DB 개요
- 프로그래밍 기초
- VS Code
Archives
- Today
- Total
핑구
06. 객체 배열 본문
📅 2021.08.24
객체 배열
- 객체 배열 ( = 참조 자료형 배열, 클래스 배열) : 객체를 저장하는 배열로 배열의 자료형을 클래스명(사용자 정의 자료형)으로 지정하여 활용하는 배열을 말한다.
- 객체 배열을 사용한 경우에도 객체 내부의 메소드를 불러올 수 있다. (ex. arr[0].getName())
그 이유는 인덱스를 통해 해당 배열의 값에 접근하는 경우(arr[0]) 해당 배열에 저장된 객체의 주소값을 따라가기 때문이다.
따라서 배열을 초기화하지 않아 배열에 기본값(null)이 저장된 경우에는 객체 내부 메소드를 가져올 수 없다. (NullPointerException 발생)
객체 배열의 선언과 할당
- 객체 배열의 선언
클래스명[] 배열명;
클래스명 배열명[];
선언 시 기본(원시) 자료형 배열과 마찬가지로 stack 영역에 주소값을 저장할 수 있는 공간이 생성된다. - 객체 배열의 할당
배열명 = new 클래스명[배열 크기];
할당 시 기본(원시) 자료형과 마찬가지로 heap 영역에 데이터를 저장할 수 있는 공간이 생성된다.
객체 배열의 초기화
- 인덱스를 이용한 초기화
배열명[인덱스] = new 클래스명();
ex. 기본 생성자를 사용했을 경우: arr[0] = new Academy();
매개변수 생성자를 사용했을 경우: arr[1] = new Academy(1, "KH"); - 선언과 동시에 할당 및 초기화
클래스명 배열명[] = {new 클래스명(), new 클래스명()};
ex. Academy[] arr = {new Academy(),
new Academy(),
new Academy(1, "KH"),
new Academy(2, "KH"),
new Academy(3, "KH")}