본문 바로가기

프로그래밍/Java

19.12.26) Java - ObjectList 만들기

목차

  • ObjectArray
  • 실습
  • 이미 ArrayList는 있다.

핵심

  • Object을 이용하면 upCasting, downCasting을 생각해라

ObjectArray

지난 시간에 만든 intArray는 int 자료형 데이터만 넣을 수 있다. 이러면 아쉬움이 남는다. 그럼 모든 자료형을 담을 수 있는 배열을 어떻게 만들 수 있을까? 모든 자료형을 upCasting으로 받을 수 있는 Object 배열로 만들면 어떨까?

또한, Object 객체로 배열을 만든다는 것은 데이터가 들어갈 때는 upCasting으로 나올 때는 downCasting으로 나온다는 의미다. 이걸 자유자재로 사용할 수 있어야 한다.

실습

public class ObjectArray {
    private int count;
    private Object[] arr;
    // 배열 생성
    public ObjectArray() {
        this(10);
    }
    public ObjectArray(int init) {
        arr = new Object[init];
    }
    // 배열에 값 추가 : add
    public void add(Object data) {
        arr[count++] = data;
    }
    // 배열에 값 얻기 : get
    public Object get(int index) {
        return arr[index];
    }

    // 배열의 길이 구하기 : size
    public int size() {
        return count;
    }
}

이미 ArrayList는 있다.

우리가 구현한 ObjectArray보다 기능이 더 많은 ArrayList가 자바에선 기본 API로 제공하고 있다. 똑같이 Object 배열로 이루어져있지만 크기가 제약이 없기 때문에 더 유용하다. 하지만 어떤 구조 이루어져 있는지 이해하는 것도 중요하다.

'프로그래밍 > Java' 카테고리의 다른 글

19.12.27)Java - Wrapper Class  (0) 2019.12.27
19.12.27) Java - ArrayList  (0) 2019.12.27
19.12.26) Java - 유레카  (0) 2019.12.26
19.12.26) Java - 나만의 API 만들기(IntArray)  (0) 2019.12.26
19.12.26) Java - 기본 API & String Class  (0) 2019.12.26