Java 객체 배열

Jinny·2022년 2월 2일
2

TIL

목록 보기
24/28
post-thumbnail

객체 배열

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

객체 배열의 선언과 동시에 할당

💡 클래스명 배열명[] = new 클래스명[배열크기];
// ex) 
Academy[] arr = new Academy[5];

객체 배열 초기화

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

arr[0] = new Academy(1, "a");
arr[1] = new Academy(2, "b");

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

Academy arr[] = {
	new Academy(1, "a"),
	new Academy(2, "b")
};

객체배열의 호출

자료에 접근할 때는 인덱스를 활용하여 접근한다.
변수명 [인덱스]로 객체에 접근하고 멤버변수나 메소드에 접근하려면 . 을 이용하여 접근한다.

package oop.sample;

public class Person {
	private String name; // 멤버필드
	private int age; // 멤버필드
	private char gender; // 멤버필드

	// 기본 생성자
	public Person() {
		super();
	}

	// 매개변수 있는 생성자
	public Person(String name, int age, char gender) {
		// super()를 먼저 수행하고 끝나면 아래 초기화 과정 수행함.
		super();
		this.name = name;
		this.age = age;
		this.gender = gender;
	}

	// getter, setter 메소드
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public char getGender() {
		return gender;
	}

	public void setGender(char gender) {
		this.gender = gender;
	}

}
package oop.test;

import oop.sample.Person;

public class TestArray {
	public static void main(String[] args) {
		// 방법 1)
		Person[] list = new Person[3]; // 3명을 보관할 수 있는 객체배열 선언
		list[0] = new Person("김개똥", 19, '남');
		list[1] = new Person("김말똥", 20, '남');
		list[2] = new Person("김소똥", 22, '여');

		// 각 객체의 멤버에 접근 이름 출력
		for(int i = 0; i < list.length; i++) {
			System.out.println(list[i].getName());
		}

		// 방법 2)
		Person[] members = { 
				new Person("김개똥", 19, '남'), 
				new Person("김말똥", 20, '남'), 
				new Person("김소똥", 22, '여') 
		};

		// 각 객체의 멤버에 접근 이름 출력
		for(int i = 0; i < members.length; i++) {
			System.out.println(members[i].getName());
		}
	}
}
profile
코린이

1개의 댓글

comment-user-thumbnail
2023년 1월 10일

감사합니다 도움이 많이 되었습니다

답글 달기