자바 지네릭스 - 2020.07.24

2020. 7. 25. 23:30개인공부/java

지네릭스

 

지네릭스는 다양한 타입의 객체들을 다루는 메서드나 컬렉션 클래스에 컴파일 시의 타입체크(compile-time type check)를 해주는 기능이다. 객체의 타입을 컴파일 시에 체크하기 때문에 객체의 타입안정성을 높이고 형변환의 번거로움이 줄어든다. 타입 안정성을 높인다는 것은 의도하지 않은 타입의 객체가 저장되는 것을 막고, 저장된 객체를 꺼내올 때 원래의 타입과 다른 타입으로 잘못 형변환되어 발생할 수 있는 오류를 줄여준 다는 뜻이다.

예를 들어, ArrayList와 같은 컬렉션 클래스는 다양한 종류의 객체를 담을 수 있긴 하지만 보통 한 종류의 객체를 담는 경우가 더 많다. 그런데도 꺼낼 때 마다 타입체크를 하고 형변환을 하는 것은 아무래도 불편할 수 밖에 없다. 게다가 원하지 않는 종률의 객체가 포함되는 것을 막을 방법이 없다는 것도 문제다. 이러한 문제들을 지네릭스가 해결해 준다.

 

지네릭스의 장점

1.타입 안정성을 제공한다.

2.타입체크와 형변환을 생략할 수 있으므로 코드가 간결해 진다.

 

간단히 얘기하면 다룰 객체의 타입을 미리 명시해줌으로써 번거로운 형변호나을 줄여준다는 얘기다. 처음부터 너무 어렵게 생각하지 말자.

 

 

지네릭스의 용어

 

Class Box<T> {}

 

Box<T> 지네릭 클래스. 'T의 Box' 또는 'T Box' 라고 읽는다.

T         타입 변수 또는 타입 매개변수. (T는 타입 문자)

Box      원시타입

 

 

 

 

 

 

 

 

 

 

 

 

-남궁성 저자의 자바의 정석 中-

'개인공부 > java' 카테고리의 다른 글

JAVA - stream  (0) 2020.09.27
JAVA - 함수형 인터페이스  (0) 2020.09.26
JAVA - 메타 애너테이션  (0) 2020.09.26
JAVA - 표준 애너테이션  (0) 2020.09.26
JAVA -애너테이션  (0) 2020.09.25