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 클래스가 아닌 개발자만의 클래스 또는 인터페이스로 똑같은 공통 기능을 구현할 수 있지만, 그 클래스는 해당 프로젝트에서만 유효하고 다른 프로젝트에서는 호환되지 않을 가능성이 클 것이다.