기타/What I Learned
[TIL] 자료구조 - 매개변수화 타입
가죽방패
2022. 3. 11. 16:06
※ 매개변수화 타입
- 제네릭 프로그래밍을 구현하기 위해 매개변수화 타입을 사용할 수 있는데 꺾쇠괄호 <> 에 Type Parameter 를 넣어
컴파일 시 구체적인 타입이 결정될 수 있도록 하는 방법이다.
이렇게 매개변수화 타입을 사용하려면 클래스, 함수를 정의할 때 아래 예시와 같이 수정하여 작성해야 한다.
다만, 생성자의 경우 예외적으로 E를 사용하지 않는다.
//클래스
public class LinkedList
public class LinkedList<E>
//함수
public void addFirst(String S)
public void addFirst(E obj)
public String removeFirst()
public E removeFirst()
또 다른 예시로, 매개변수화 타입을 이용해 어떤 자료형이든 담을 수 있는 제너릭 노드 코드의 예시는 다음과 같다.
다음 코드에서 E는 모두 같은 자료형을 의미한다.
//제너릭 코드
class Node<E>{
E data;
Node<E> next;
public Node(E obj){
data=obj;
next=null;
}
}
배열은 다음과 같이 정의한다.
//배열
E[] storage = (E[]) new Object[size];
//배열(컴파일X)
E[] storage = new E[size];