기타/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];