본문 바로가기
Java&Spring

Java_Generics(지네릭스)

by JINJINC 2022. 8. 5.
728x90
반응형

Generics(지네릭스)

- 다양한 타입의 객체들을 다루는 메서드나 컬렉션 클래스에 컴파일 시의 타입 체크를 해주는 기능

- 객체의 타입을 컴파일 시에 체크하기 때문에 객체의 타입 안정성을 높이고 형변환의 버너로움이 줄어든다.

* 타입 안정성을 높인다는 것은 의도하지 않은 타입의 객체가 저장되는 것을 막고, 저장된 객체를 꺼내올 때 원래의 타입과 다른 타입으로 잘못 형변환 되어 발생할 수 있는 오류를 줄여준다는 뜻이다. 

<지네릭스의 장점>

  • 타입 안정성을 제공한다.
  • 타입체크와 형변환을 생략할 수 있으므로 코드가 간결해진다. 

<지네릭 클래스의 선언>

예)메서드타입

Object NewProduct{
	Object item;
    
    void setItem(Object item){this.item = item;}
    Object getItem(){return item;}
   }

- 지네릭 클래스

object 를 모두 T  로 바꿔서 사용한다

class NewProduct<T>{
	T item;
    
    void setItem(T item){this.item = item;}
    T getItem() {return item;}
	}

기호의 종류만 다를 뿐 임의의 참조형 타입을 의미한다

NewProduct<String> p = new NewProduct<String>();
p.setItem(New object());  //에러, 스트링 이외의 타입은 지정불가 
p.setItem("ABC")  // right!
String item = b.getItem(); //형변환 필요없음

 

 

 

728x90
반응형

'Java&Spring' 카테고리의 다른 글

To-Do list 만들기 1  (0) 2023.01.26
Java_Collections  (0) 2022.08.05
Java_Arrays  (0) 2022.08.04

댓글