N스크린하이브리드앱과정/JAVA

[4주][5일][3~4th] JAVA: 제네릭을 이용한 데이터 처리

광천스러움 2013. 8. 9. 13:55

★ 용어 정리

 

 

☆ 실습(1) :  일반적인 데이터 처리

1. 일반적인 데이터 처리 - int형만

 - 18번줄 : 멤버변수 member가 int형이기 때문에 메서드를 호출할 경우 int형만 가능함

 

2. 일반적인 데이터 처리 - Object형

- 26번줄~ : TestClass2 클래스 안의 제네릭이 데이터형으로 지정된 것이 아닌 만물의 어머니 Object

                  형으로 지정되어 모든 데이터형을 포함하게 되었다. 따라서 모든 데이터를 출력하는 것

                  이 가능하다.

 - 21번줄 : String으로 다운 캐스팅을 하였기 때문에 temp변수에 저장이 가능하다.

  그리고 temp 변수에는 가장 마지막에 출력된 15번줄의 스트링이 저장될 것이다.

 

결과

 

 

실습(2) : 제네릭을 이용한 데이터 처리

- 5~8번 : Integer형으로 제네릭을 설정하고 정수값을 출력

 - 10~12번 : Double형으로 실수값을 출력

 - 14~15번 : 일반 변수로 값을 저장해서 출력

 - 17~19번 : String형으로 제네릭 생성 후 문자값을 출력

 

결과

 


☆ 실습(3) : 클래스를 제네릭으로 받아와 list로 출력하기

 - 클래스 Man을 통째로 받아와 리스트로 추가하려면, 클래스 Man의 new 연산자 값을 적어줘야한다.

 - 아니면 Man의 인스턴스 m을 생성해서 m을 넣어줘되 된다. 어차피 m이 가리키는 값이 new 연산자

    쪽 값이기 때문이다.

 - 이제 list안의 요소를 출력하려 하는데, 그냥 출력하면 주소값이 출력되므로, for문을 이용해서 값을 

    불러줘야 한다. get()으로 요소의 값을 하나하나 받아오고, 그것을 인스턴스 p에 저장하여 

    getName()과 getAge()를 각각 출력해 주면 정상적으로 출력될 것이다.

 - 향상된 for문으로도 연습해보자

 

결과

 

 

☆ 실습(4) : Map을 이용하여 제네릭을 출력하기

 - Map은 키와 벨류값 두개로 이루어져 있으므로, 제네릭도 데이터형을 두개 받아야 한다.

 - 나머지는 쉽다. 객체 생성하고 put()으로 값을 넣고 get()으로 빼주면 된다!

 

결과

 

/(ㅇ_ㅇ)/