반응형
아이템 30 : 이왕이면 제네릭 메서드로 만들라
클래스와 마찬가지로, 메서드도 제네릭으로 만들 수 있다.
(타입 매개변수들을 선언하는) 타입 매개변수 목록은 메서드의 제한자와 반환 타입 사이에 온다.
때때로 불변 객체를 여러 타입으로 활용할 수 있게 만들어야 할 때가 있다. 제네릭은 런타임에 타임 정보가 소거되므로 하나의 객체를 어떤 타입으로든 매개변수화할 수 있다. 하지만 이렇게 하려면 요청한 타입 매개 변수에 맞게 매번 그 객체의 타입을 바꿔주는 정적 팩터리를 만들어야 한다. 이 패턴을 제네릭 싱글턴 팩터리라 한다.
핵심 정리
제네릭 타입과 마찬가지로, 클라이언트에서 입력 매개변수와 반환값을 명시적으로 형변환해야 하는 메서드보다 제네릭 메서드가 더 안전하며 사용하기도 쉽다. 타입과 마찬가지로, 메서드로 형변환 없이 사용할 수 있는 편이 좋으며, 많은 경우 그렇게 하려면 제네릭 메서드가 되어야 한다. 역시 타입과 마찬가지로, 형변환을 해줘야 하는 기존 메서드는 제네릭하게 만들자. 기존 클라이언트는 그대로 둔 채 새로운 사용자의 삶을 훨씬 편하게 만들어줄 것이다.
반응형
'언어 > JAVA' 카테고리의 다른 글
[Effective Java] 제네릭과 가변인수를 함께 쓸 때는 신중하라 (0) | 2020.03.25 |
---|---|
[Effective Java] 한정적 와일드카드를 사용해 API 유연성을 높이라 (0) | 2020.03.24 |
[Effective Java] 이왕이면 제네릭 타입으로 만들라 (0) | 2020.03.23 |
[Effective Java] 배열보다는 리스트를 사용하라 (0) | 2020.03.22 |
[Effective Java] 비검사 경고를 제거하라 (0) | 2020.03.22 |