Notice
Recent Posts
Recent Comments
Link
«   2026/01   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

SSinsa

3. 제네릭 이해하기 본문

Java/Java Programming

3. 제네릭 이해하기

SSinsa 2020. 1. 15. 02:13

제네릭, ' 매개변수화된 타입'

 

List 클래스는 가능한 한 모든 타입을 다룰 수 있어야한다. (List 인스턴스는 다형성이 있다)

또한, 다시 말해서는 List에 확실히 들어갈 수 있는지 확인이 필요하다.

확실히 하지 않는다면 ClassCastException이 발생한다.

 

이럴때 직접 타입 변환 없이 제네릭을 사용하면 된다.

기본적으로 대부분의 에러가 실행 에러가 컴파일러 에러로 바뀔 수 있다. -> 수정이 빨라져 개발 속도를 상승시킨다

 

# 제네릭의 특징

1) 제네릭을 사용하면 한 가지 타입의 매개변수만 받을 수 있다.

2) 제네릭 타입은 중첩해서 사용가능

 

-> E타입 사용

-> 상속관계에 의해 생기는 컴파일 에러는 부모클래스와 부모 클래스의 모든 하위 클래스를 실행될 수 있도록

명시적으로 변경해야함

-> '?' 와일드 카드 사용 : 컴파일러에게 부모클래스를 확장한 모든 인스턴스를 사용할 수 있게 하라고 전달

 

# 구상화

구상화 한다, 실행 시에 이용할 수 있다는 의미.

그러나 제네릭 타입은 구상화가 아니다.구현 코드의 모든 타입 정보를 컴파일러가 확인하기 때문

 

 

 

'Java > Java Programming' 카테고리의 다른 글

9. JUnit으로 테스팅하기  (0) 2020.02.18
5. 어노테이션 이용하기  (0) 2020.02.05
4. 오토박싱과 언박싱 이해하기  (0) 2020.02.05
2. String 이용하기  (0) 2020.01.15
1. 배열과 리스트의 관계  (0) 2020.01.15