- 매개변수화 타입을 받는 정정 유틸리티 메서드
- 한정적 와일드카드 타입을 사용하면 더 유연하게 개선할 수 있다.
- 제네릭 싱글턴 팩터리
- 불변객체 하느를 어떤 타입으로든 매개변수화 할 수 있다.
- 재귀적 타입 한정
- 자기 자신이 들어간 표현식을 사용하여 타입 매개변수의 허용 범위를 한정한다.
2개의 Set을 합치는 Util 클래스인 Union 클래스에 정적 유틸리티 메서드 union
현재 코드는 로우타입으로 값을 꺼내서 사용할 때 String일 것이라고 예상했으나 실제 Set에는 Integer도 들어가 있어서 런타임시 ClassCastException이 나는 코드이다.
컴파일타임에 이러한 문제를 방지하기 위해 제네릭을 사용한다.
메서드에서는 리턴타입 앞에 사용할 제네릭을 적어준다.
Integer를 사용하려고 했더니 컴파일 에러가 나서 fail fast로 빠른 실수를 발견할 수 있다.
제네릭 싱글턴 팩토리는 싱글턴 객체를 리턴하는 팩토리 메서드를 말한다.
제네릭을 사용한다면 따로 나뉘어진 타입을 1개로 표현하면 된다.
재귀적 타입 한정
자기 자신이 들어간 표현식을 사용하여 타입 매개변수의 허용 범위를 한정한 것
String의 경우 Comparable을 구현한 클래스로 한정한 객체가 Comparable도 구현한 객체로 한정을 다시 짓는다.
클래스 시그니처에 Comparable을 구현한 객체로 한정을 짓는 것이다.
https://www.inflearn.com/course/%EC%9D%B4%ED%8E%99%ED%8B%B0%EB%B8%8C-%EC%9E%90%EB%B0%94-2/dashboard
'개인룸 > 도윤' 카테고리의 다른 글
Item33. 타입 안전 이종 컨테이너를 고려하라 (0) | 2023.04.24 |
---|---|
Item32.제네릭과 가변인수를 함께 쓸 때는 신중하라 (0) | 2023.04.22 |
Item28. 배열보다는 리스트를 사용하라 (0) | 2023.03.28 |
Item27. 비검사 경고를 제거하라 (0) | 2023.03.27 |
Item26. 로타입은 사용하지 말라 (0) | 2023.03.26 |