좀전에는 크기가 10인 Product배열을 사용했는데요...
저장할 객체의 수가 10이 넘으면... 배열은 한번 만들면 크기변경이 안되니까...
새로운 배열을 생성하고 복사하고... 해야할 일이 많습니다.
그렇다고 해서... 너무 큰 배열을 생성하면 메모리 낭비가 되니까 안되겠죠.
그래서... 이럴 때는 Product배열 대신에 java.util패키지의 Vector클래스를 사용하면 됩니다.
Vector클래스는 이와 같이... 내부적으로 Object타입의 객체배열을 가지고 있어서...
어떠한 종류의 객체도 담을 수 있습니다.
Object가 모든 클래스의 조상이고 조상의 타입으로 자손인스턴스를 참조할 수 있으니까요...
게다가 이 Object배열을 자동적으로 관리해주기 때문에... 배열을 직접관리해줄 필요없이...
객체를 Vector에 저장하고 읽어오는 메서드만 사용하기만 하면 됩니다.
Vector클래스의 주요 메서드를 몇 개 골라봤습니다.
Vector클래스의 기본 생성자 인데요... 이 생성자를 이용하면 기본적으로 10개의 객체를 저장할 수 있는 인스턴스가 생성되고요.
Vector에 10개 이상의 객체를 저장하면 자동적으로 크기가 증가됩니다.
add메서드는 Vector에 객체를 저장하는 메서드인데요... 매개변수가 Object타입의 참조변수라서...
어떤 객체도 매개변수로 쓸 수 있습니다.
리턴값은 boolean으로.. 저장에 성공하면 true, 실패하면 false를 리턴합니다.
remove메서드는 Vector에 저장된 객체를 삭제하는 메서드입니다. 그 외에는 add메서드와 똑같고요...
isEmpty()메서드는 Vector가 비어있는지 알려줍니다.
get메서드는 지정된 위치, index에 저장되어 있는 객체를 반환합니다. Vector는 객체를 배열에 순서대로 저장하기 때문에...
index의 값은 0부터 시작합니다. 만일 index의 값을 3으로 하면 4번째로 저장한 객체가 반환되겠죠.
size()메서드는 Vector에 실제로 저장된 객체의 개수를 정수로 반환합니다.
'Backend > java' 카테고리의 다른 글
추상클래스란 무엇인가. (0) | 2018.08.12 |
---|---|
여러 종류의 객체를 하나의 배열로 다루기3 (0) | 2018.08.12 |
여러 종류의 객체를 하나의 배열로 다루기 (0) | 2018.08.12 |
매개변수의 다형성 (0) | 2018.08.12 |
참조변수와 인스턴스변수의 연결 (0) | 2018.08.12 |
#IT #먹방 #전자기기 #일상
#개발 #일상