IT/Java

자바 다형성 예제 (ArrayList)

노마드오브 2018. 7. 20. 22:50

package test;


import java.util.ArrayList;   // ArrayList를 사용하려면, import해줘야된다



public class Test {


public static void main(String[] args) {

ArrayList list = new ArrayList();


// add() 메소드의 매개변수 타입이 Object형

// Object: 모든 클래스의 최상위 부모클래스

list.add("일"); // String

list.add('이'); // char <-> Character

list.add(3);   // int <-> Integer

list.add(4.5); // double <-> Double


String str = (String) list.get(0);  // get으로 돌려받는 값이 Object형이므로 다운캐스팅 해줘야된다

// 자식 = 부모    // 다운캐스팅  // 강제(명시적) 형변환

System.out.println(str);

System.out.println(list.size()); // ArrayList의 갯수 반환 출력


// 제네릭 타입을 이용한 컬렉션 사용

ArrayList<String> strList = new ArrayList<>();   // ArrayList를 String형으로 생성

strList.add("홍길동");

// strList.add(10);   // String형이 아니라서 오류

strList.add("Java");

strList.add(1, "C++");   // 1자리에 "C++"을 추가하라는 명령, ArrayList는 0부터 시작하므로 두번째 위치에 추가된다

for (int i=0; i<strList.size(); i++) {

System.out.println(strList.get(i));

}

System.out.println(strList.size());

strList.remove(strList.size()-1);  // 제일 마지막 항목을 삭제


for (int i=0; i<strList.size(); i++) {

System.out.println(strList.get(i));

}

System.out.println(strList.size());

String name = strList.get(0);

} // main()의 끝

}