심심한잉여의 잡동사니

JAVA - 객체 배열 본문

코딩일기/Java

JAVA - 객체 배열

심심한잉여 2021. 8. 20. 00:59
반응형

객체 배열

객체를 저장하는 배열로 배열의 자료형을 클래스명으로 지정하여 활용

여러 사람의 데이터를 객체배열로 만들어 인덱스마다 객체 저장이 가능하다.
이를 통해 한 객체에 한 사람의 데이터를 담을 시 하나의 객체배열 선언으로 쉽게 컨트롤이 가능해진다.


객체배열 선언과 할당

선언과 할당 방법은 일반 배열과 동일하다.

선언
클래스명[] 배열명;
클래스명 배열명[];

위와 같이 선언하면 되며 현업에서는 왠만해서 앞에다 붙이는 것이 좋다고 했다.

할당
배열명 = new 클래스명[배열크기];

선언과 동시에 할당
클래스명[] 배열명 = new 클래스명[배열크기];

일반 배열과 동일하지만 다른 점은 자료형이 클래스라는 것이다.
객체들을 하나의 변수명으로 정리 및 입출력시키기에 딱 좋은 방법으로 보인다.


객체배열 초기화
객체배열 초기화 또한 일반 배열과 똑같이 초기화를 한다.

인덱스를 이용한 초기화
배열명[i] = new 클래스명();

선언과 동시에 할당 및 초기화
클래스명 배열명[] = {new 클래스명(), new클래스명()};

이렇게 초기화를 하며 배열과 같이 for문을 이용하여 하는것이 일반적이다.


객체배열 메모리

일반 배열과 비슷한 그림으로 나타낼 수 있으며 2차원 배열과 모양이 비슷하다고 볼 수 있다.
new로 인덱스마다 객체를 추가하기 때문에 배열크기에 따라 주소값이 결정되며 해당 주소값 안에 클래스에 대한 멤버변수들이 들어간다고 볼 수 있다.
따라서 객체와 배열을 공부한다면 이에 대해 어려움은 없을 것이라 생각된다.


마치며

실습 - 깃허브 : https://github.com/thyum3891/kh_java_study/commit/68992aecf924112eacabe4bf511adcc1d2a65ad1


실습과제를 풀며 null값으로 삭제명령어를 주었으나 강사님께서 null처리를 안시키기 위해서는 지울 때 null이 생기지 않도록 처리하는 것이 코드에서 실수를 줄일 수 있고 귀찮음이 없어질 수 있다고 알려주셨다.
따라서 실습과제를 한 것에 대해 수정해볼 예정이다.

배열에 대해 어느정도 이해를 하고 해당 실습과제를 풀이해보니 큰 어려움은 없었지만 null처리에 대해 아직 미흡한 것을 깨닫게 된 것 같다. 

 

반응형

'코딩일기 > Java' 카테고리의 다른 글

JAVA - 다형성  (0) 2021.08.23
JAVA - OOP 상속  (0) 2021.08.22
JAVA - OOP 객체 지향 프로그래밍  (0) 2021.08.18
JAVA - 2차원 배열  (0) 2021.08.16
JAVA - 1차원 배열  (0) 2021.08.12