Java

116. 지네릭스의 용어, 지네릭스의 타입과 다형성 - 패스트캠퍼스 백엔드 부트캠프 3기

gkss2tpt 2025. 1. 3. 12:06

1. 지네릭스 용어

  • Box<T> : 지네릭 클래스. 'T의 Box' 또는 'T Box'라고 읽는다.
  • T : 타입 변수 또는 타입 매개변수.(T는 타입 문자)
  • Box : 원시타입(raw type)

2. 지네릭 타입과 다형성

  • 참조 변수와 생성자의 대입된 타입은 일치해야 한다.
class Product { }
class Tv extends Product { }

ArrayList<Tv>		list = new ArrayList<Tv>();	// OK 일치
ArrayList<Product>	list = new ArrayList<Tv>();	// 에러 불일치 상속 관계여도 안됨
  • 지네릭 클래스간의 다형성은 성립(여전히 대입된 타입은 일치해야)
List<Tv> list = new ArrayList<Tv>();	// OK 다형성. ArrayList가 List를 구현
List<Tv> list = new LinkedList<Tv>();	// OK 다형성. LinkedList가 List를 구현
  • 매개변수의 다형성도 성립
class Product { }
class Tv extends Product { }
class Audio extends Product { }

ArrayList<Product> list = new ArrayList<Product>();
list.add(new Product());
list.add(new Tv());	// OK
list.add(new Audio());	// OK