JAVA/자료구조

매개변수화 타입

도전하는일반인 2021. 10. 1. 22:07

들어가기 전에

매개변수화 타입을 사용하는 방법을 알아봅니다.

 

학습 목표

매개변수화 타입을 설명할 수 있습니다.

 

핵심 단어

  • 제너릭 프로그래밍
  • 매개변수화 타입

 

매개변수화 타입

 

제너릭 프로그래밍을 구현하기 위한 방법으로 매개변수화 타입을 사용할 수 있습니다. 꺾쇠괄호<> 안에 Type Parameter를 넣어 컴파일 시 구체적인 타입이 결정되도록 하는 방법입니다.

 

이렇게 매개변수화 타입을 사용하려면 클래스, 함수를 정의할 때 아래와 같이 고쳐주어야 합니다. 다만, 생성자의 경우 예외적으로 E를 사용하지 않습니다. 

 

예시로, 매개변수화 타입을 사용하여 어떤 자료형이든 담을 수 있는 제너릭 노드를 만들면 다음과 같습니다. 아래 코드에서 E는 모두 같은 자료형을 의미합니다.

배열의 경우, 다음과 같이 정의합니다.

아래 코드처럼 정의하면 컴파일이 되지 않습니다.


 

생각해보기


1) 매개변수화 타입과 객체를 사용하는 방식의 차이점은 무엇인가요?

나의 생각 : 매개변수화 타입은 재사용성이 높아지고 객체를 사용하는 방식은 매번 객체를 새로 생성해 주어야 한다.

또한 매개변수화 타입을 사용하면 컴파일 시 강한 타입 체크를 할 수 있다.

 

출처 : https://www.boostcourse.org/cs204/lecture/480565?isDesc=false 네이버커넥트재단