Java, Object 배열

Object 클래스는 모든 타입 객체를 담을 수 있는 특징이 있다. Object 배열로 만들면 어떤 객체라도 배열 안에 넣거나 꺼내 사용할 수 있다.

ObjectMain.java

  • 이전에 만든 Cat, Car 클래스를 재사용하였다.
public class ObjectMain {
    public static void main(String[] args) {
        Object obj = new Object(); // Object 인스턴스. 없어도 된다.
        Cat cat = new Cat();
        Car car = new Car();

        Object[] objects = { obj, car, cat };

        sizeArr(objects);
    }

    private static void sizeArr(Object[] objs) {
        System.out.println("전달 받은 객체의 수: " + objs.length);
    }
}

출력 결과

전달 받은 객체의 수: 3

배열을 구체적으로 어떻게 들어갔는지 살펴본다.

Object[] objects = { obj, car, cat };
// 위에서 만든 배열은 아래와 같다.
Object objects[0] = new Object();
Object objects[1] = new Car();
Object objects[2] = new Cat();

sizeArr() 메소드

이 메소드는 sizeArr(Object[] objs) 타입의 파라미터 배열을 받고 있다.
메소드는 배열의 갯수를 출력 하는 역할을 한다.
호출부에서 인자만 전달된다면 어느 코드에서도 재사용하여 출력할 수 있다.

Object 클래스의 필요성

Object 특징부터 살펴보자.

  • 클래스의 공통 기능을 사용할 수 있다. 예) 클래스 정보 출력하기
  • Object 클래스에게 모든 자식 클래스를 받을 수 있는 다형적 참조가 가능하다.
  • 하나의 변수로 Object[] 배열로 만들어 다양하고 여러 개의 객체들을 넣을 수 있다.

Object 특징들은 여러 프로젝트에서 사용되는 공통된 기능을 수행한다.
Object 클래스가 아닌 개발자만의 클래스 또는 인터페이스로 똑같은 공통 기능을 구현할 수 있지만, 그 클래스는 해당 프로젝트에서만 유효하고 다른 프로젝트에서는 호환되지 않을 가능성이 클 것이다.