-
제네릭
제네릭 타입을 이용함으로써 잘못된 타입이 사용될 수 있는 문제를 컴파일 과정에서 제거할 수 있게 되었다. 제네릭은 컬렉션, 람다식, 스트림, NIO에서 널리 사용된다.
제네릭의 장점
- 컴파일 시 강한 타입 체크를 할 수 있다.
- 자바 컴파일러는 코드에서 잘못 사용된 타입 때문에 발생하는 문제점을 제거하기 위해 제네릭 코드에 대해 강한 타입 체크를 한다. 실행 시 타입 에러가 나는 것보다는 컴파일 시에 미리 타입을 강하게 체크해서 에러를 사전에 방지하는 것이 좋다.
- 타입 변환(Casting)을 제거한다.
- 비제네릭 코드는 불필요한 타입 변환을 하기 때문에 프로그램 성능에 악영향을 미친다.
//제네릭 타입의 객체 생성 //<>연산자를 사용해서 간단히 작성할 수 있음 Product<Tv, String> product = new Product<>();
제네릭 타입의 상속과 구현
제네릭 타입도 다른 타입과 마찬가지로 부모 클래스가 될 수 있다.
다음은 Product<T, M> 제네릭 타입을 상속해서 ChildProduct,T, M> 타입의 정의한다.
//제네릭 상속 public class ChildProduct<T, M> extends Product<T, M> { ... } //자식 제네릭 타입은 추가적으로 타입 파라미터를 가질 수 있다. public class ChildProduct<T, M, C> extends Product<T, M> { ... }
[자문자답문제]
더보기1. 제네릭의 장점은?
답)
컴파일 시 강한 타입 체크를 할 수 있다.
불필요한 타입 변환을 제거한다.
2. 제네릭 메소드란?
답)
제네릭 메소드는 매개 타입과 리턴 타입으로 타입 파라미터를 갖는 메소드를 말한다.
제네릭 메소드를 선언하는 방법은 리턴 타입 앞에 <> 기호를 추가하고 타입 파라미터를 기술한 다음, 리턴 타입과 매개 타입으로 타입 파라미터를 사용하면 된다.
해당 포스트는 이것이 자바다(신용권의 Java 프로그래밍 정복)을 읽은 후 기록한 내용입니다.
참고서적링크 : https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=50563128
이것이 자바다
15년 이상 자바 언어를 교육해온 자바 전문강사의 노하우를 아낌 없이 담아낸 자바 입문서. 저자 직강의 인터넷 강의와 Q/A를 위한 커뮤니티(네이커 카페)까지 무료로 제공하여 자바 개발자로 가
www.aladin.co.kr
'Java' 카테고리의 다른 글
13. 람다식 (0) 2021.09.21 11. 멀티 스레드 (0) 2021.09.04 10. 자바 기본 API 클래스 (0) 2021.08.24 9. 자동 리소스 닫기 (0) 2021.08.21 8. 인터페이스 (0) 2021.08.18 - 컴파일 시 강한 타입 체크를 할 수 있다.