[JAVA] 제네릭 Generic

Gabriela·2023년 7월 26일
0

JAVA

목록 보기
14/24
post-thumbnail

‣ 제네릭 Generic

  • 어떤 컬렉션 프레임워크를 생성할 때 어떤 타입저장할 것인지 구체적으로 명시하는 것이다
  • 제네릭으로 지정 가능한 타입은 오직 참조 타입(Reference Type)만 가능하다
  • 기본 타입(Primitive Type)을 저장하려면 Wrapper Class 타입으로 처리한다

  • 모든 컬렉션 프레임워크는 제네릭(generic)을 기반으로 구현된 클래스이다.

‣‣ 활용 예제

  • 박스에 여러가지를 담아보기

실행 클래스

  public static void main(String[] args) {
   
    // String을 저장하는 box
    Box<String> box1 = new Box<String>();
    box1.setItem("Hello World!");
    System.out.println(box1.getItem());
   
    // int를 저장하는 box2
    // 오직 "참조타입"만 Generic 처리에서 사용할 수 있다.
    // int의 참조타입인 Integer를 사용한다.
    Box<Integer> box2 = new Box<Integer>();
    box2.setItem(10);
    System.out.println(box2.getItem());
   
    // Person을 저장하는 box3
    Box<Person> box3 = new Box<Person>();
    box3.setItem(new Person("홍길동"));
    System.out.println(box3.getItem());
  }

Box 클래스

public class Box<T> {
 
  private T item;

  public T getItem() {
    return item;
  }

  public void setItem(T item) {
    this.item = item;
  }
}

Person 클래스

public class Person {
 
  private String name;
 
  public Person(String name) {
    this.name = name;
  }
 
  @Override
  public String toString() {
    return "Person [name=" + name + "]";
  }
}

• wrapper Class

  • 기본자료형의 참조타입이 필요할 때 사용하는 방법

자주 쓰이는 예시
int ⇢ Integer
byte ⇢ Byte
char ⇢ Character
boolean ⇢ Boolean
double ⇢ Double


profile
개발이 세상에서 제일 재밌어요

0개의 댓글

관련 채용 정보