코드 그라데이션

Day27-1. 제네릭 본문

Java/Mega

Day27-1. 제네릭

완벽한 장면 2023. 4. 23. 22:02

배열의 단점 

-> 1. 같은 자료형만 담을 수 있음(이를 해소하는 게 클래스)

    2. 개수가 제한됨

 

- 객체가 생성될 때 클래스 안에 있는 자료형이 선택이 됩니다

 

예시

내가 B를 만들려는 순간에 자료형이 세팅이 되어 바뀐다는 뜻.

 

, 참조자료형만 됩니다.   기본자료형 X

 

결론은 <>안에 클래스밖에 안 된다는 뜻!

 

 

제네릭 예제

class Box<T> {
  T vol;

  void setVolume(T vol) {
    this.vol = vol;
  }
  T getVolume() {
    return vol;
  }
}

public class GenericTest {

  public static void main(String[] args) {
    Box<Integer> ibox = new Box<Integer>();
    ibox.setVolume(200);
    //ibox.setVolume(32.3); 에러 / 실수 아니잖아.
    System.out.println("<Integer> 박스의 부피는 : " + ibox.getVolume());

    Box<Double> dbox = new Box<Double>();
    dbox.setVolume(32.300);
    //dbox.setVolume(2); 에러
    System.out.println("<Double> 박스의 부피는 : " + dbox.getVolume());
  }

}

 

728x90
Comments