Java

Java 객체 배열 내용 정리

최종군 2024. 6. 24. 18:24

객체 배열이란 ?   : 

프로그래밍에서 동일 한 타입의 여러 객체를 하나의 배열로 관리하는 자료 구조

객체 배열을 사용하면 여러 객체를 하나의 변수로 다룰 수 있어 코드의 가독성과

관리가 용이해진다 

 

 

// Person 클래스 정의
class Person {
    String name;
    int age;   

    Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    void display() {
        System.out.println("Name: " + name + ", Age: " + age);
    }
}

// 객체 배열 사용 예시
public class Main {
    public static void main(String[] args) {
        // Person 객체 배열 생성
        Person[] people = new Person[3];

        // 각 배열 요소에 Person 객체 할당
        people[0] = new Person("Alice", 30);
        people[1] = new Person("Bob", 25);
        people[2] = new Person("Charlie", 35);

        // 배열 요소 접근 및 메서드 호출
        for (Person person : people) {
            person.display();
        }
    }
}

 

 

 


 

객체 배열과 일반 배열의 차이점 :

 

일반 배열 : int[], double[], char[] 등 

 

객체 배열 : Person[], String[]

등 클래스 타입의 객체들로 이루어진 배열이다. 

 

일반 배열 -> 기본 타입 배열의 경우 배열 생성 시 모든 요소의 메모리가 한 번에 

할당 

 

객체 배열 -> 객체 배열 배열 자체는 메모리에 할당이 되지만 

각 요소의 객체는 별도로 생성 및 초기화 해야 된다 .

 

 

 Person[] people = new Person[3]; (배열 요소는 기본적으로 null 상태)

 

 

일반 배열 : 초기화 

 

 

int[] arr = new int[3];

 

 

객체 배열 : 배열 선언 후 각 요소를 개별적으로 초기화 해야 된다.

 

 

Person[] people = new Person[3];
people[0] = new Person("Alice", 30);
people[1] = new Person("Bob", 25);
people[2] = new Person("Charlie", 35);

 

일반 배열 사용 목적 : 주로 단순한 데이터 집합을 다룰 떄 사용된다

 

객체 배열 : 복잡한 데이터 구조를 다루거나 객체 지향 프로그래밍에서 객체를 관히할 떄 

사용이 된다 

 

 

// 1차원 배열 선언

int[] intArr1;  // 1. 자료형 배열 변수명;
int  intArr2[]; // 2. 자료형 변수명 배열ㅣ

// 2차원 배열 초기화

intArr1 = new int[3];

// 선언과 동시에 초기화 

int[] intArr4 = new int[10];
int[] intArr5 = {1,2,3,4}; 
int[] intArr6 = new int[]{1,2,3,4}; 

 

 

2차원 배열 : 

 

 

 

// 2차원 배열 선언 방법 :

int[][] matrix;
int matrix3[][]; // 노란줄이 표시됨

// 2차원 배열 초기화 방법

matrix = new int[5][2];

// 2차원 배열 생성과 동시에 초기화

int[][] matrix4 = new int[3][4];
int[][] matrix5 =  {{123}, {345}, {789}}; // 중괄호 안에 구분하기

 

 

 

객체 배열 생성 및 초기화 벙법 

 

 

// 객체 배열 초기화

Person[] personArr;  // 객체 배열 선언;
Person personArr[];  //

// 초기화 방법

Person[] personArr;
Person[] personArr4 = new Person[10];
Preson[] personArr5 = {new Person("john, 30"), new Person("jane", 25)};

// 인덱스별 초기화 

personArr[0] = new Person("John", 30);
personArr[1] = new Person("Jane", 25);
personArr[2] = new Person("Bob", 35);
personArr[3] = new Person("Alice", 28);
personArr[4] = new Person("Tom", 32);

 

 

 

 

 

Arrays.toString() 배열의 값을 출력할 때 

메서드를 사용하여 출력 

 

 

객체 배열은 배열 요소 자체가 객체이므로 Arrays.toStirng() 메서드를 사용하여 

베열의 내용을 출력하면 객체의 메몰 주소가 출력된다 

 

객체 배열의 내용을 문자열로 변환 시키기 위해서는 

두가지 방법이 있다 

 

for (Person person : personArr5) {
    System.out.println(person);
}

for문을 통하여 직접 출력학 ㅣ

 

Arrays.deepToString()을 통하여 

객체배열의 내용을 문자열로 변환하여 출력 

 

 

 

 

 

 

'Java' 카테고리의 다른 글

KH 교육과정 6월 25일 상속 내용 정리  (0) 2024.06.26
일반 변수와 참조 변수 차이점  (0) 2024.06.25
자바 객체 배열  (0) 2024.06.23
KH 교육원 Java 클래스 9일차  (0) 2024.06.21
자바 프로젝트  (0) 2024.06.20