13_00_Collection&제네릭(generic)
안녕하세요 MrChooCAI 입니다~
이번 포스트에서는 컬렉션 프레임워크(Collection framework)와
제네릭(Generic)에 대해서 자세하게 알아보도록 하겠습니다.
실습 코드는 github을 참조해 주세요~
Github: https://github.com/Chooyoungjun/javastudy/tree/main/14_00_Generic
위의 표와 같이 Collection frame work는 많은 자료를 효율적으로 처리하는 자료구조를 의미 한다고 볼 수 있습니다. 또 다른 말로 설명을 하면 List, Set, Queue 클래스의 부모 클래스라고 말 할 수도 있습니다. 이러한 기본 개념을 가지고 Collection과 Generic에 대한 설명을 이어가도록 하겠습니다.
1.
Collection framework
[Collection framework란?]
다수의
데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합을 의미합니다. 즉 데이터를
효율적으로 다루기 위한 클래스들의 집합이라고 말 할 수도 있습니다.
[자료구조]
자료들을
저장하고 부르는 구조를 말합니다. 즉 데이터를 효율적으로 처리 하려면 적절한 자료 구조를 선택해야 합니다. 그래서 collection framework를 자료구조(data structure)의 묶음이라고 해석하셔도 되겠습니다.
[Collection 인터페이스를 구현 한 클래스]
-
Set
-
List
-
Queue
-
Map: Collection framework는
아니지만 주요 자료 구조임.
[Collection framework에서 제공하는 메서드]
위의 메서드는 Collection을 상속 받는 클래스는 당연히 가지고있는 메서드라는 점을 꼭 숙지하시면 되겠습니다.
2.
Generic
[제네릭 이란?]
제네릭(generic)이란 데이터의 타입(data type)을 일반화한다(generalize)는 것을 의미합니다.(일반화 하기 때문에 instance로 변환 할 때 데이터 타입을
지정 할 수 있는 장점이 있습니다. 지금 이 말이 잘 이해 안되시겠지만 나중에 실습 후에 다시 읽어
보시는 것을 추천 드립니다.)
[제네릭 사용 방법?]
클래스나 메서드 뒤에 <E>, <K>,
<V>와 같은 형식으로 사용합니다. 클래스 뒤에 구현 하면 제네릭 클래스 메서드
뒤에 구현하면 제네릭 메서드라고 합니다.
주의점: ‘<>’ 안에는 제네릭 타입 매개
변수만 들어갈 수 있습니다.
[제네릭타입 매개변수]
더 많은 종류가 있지만 지금 필요한 몇 가지에 대해서만 정리하였습니다. 위의 내용들을 이해하기 위해서 실습을 진행해 보도록 하겠습니다.
[실습]
제네릭 메서드를 활용해서 들어온 값이 어떤 자료형인지 알아보는 실습을 해 보도록 하겠습니다.
타입을 지정하지 않아도, 제네릭 메서드를 활용해서 일반화해서 변수를 입력을 받을 수 있습니다. 입력 받은 변수를 확인하여 어떤 자료형 인지를 알아보는 방식으로 응용이 가능 한 것을 확인할 수 있습니다.
[두번째 실습]
제네릭 클래스를 활용해서 클래스를 만든 후 객체화를 시킬 때 멤버 타입을 지정 하는 방식으로 실습을
해 보도록 하겠습니다.
위의 실습을 확인해 보시면 Class A에 제네릭 메서드를 활용해서 변수 x와 y를 정의 하였습니다. 이 변수의 자료형을 객체화 시에 a1에는 integer 그리고 a2에는 String을 적용시켜 보았습니다. 같은 클래스지만 다른 자료형 타입을 저장하는 것을 확인하였습니다.
지금까지 긴 글을 읽어 주셔서 감사합니다.!
MrChooCAI 였습니다.
Comments
Post a Comment