프로그래밍 공부 메모/flutter

class 다루기 #9 Generic

jjs815 2022. 5. 19. 23:36

외부에서 타입을 받을 때 사용하며 다양한 형태로 변경 가능

void main() {
  List<String> name = []; //<String> string타입의 generic을 선언해서 문자가 들어간다는걸 명시  
  
  //외부 1
  Lecture<String, String> lecture1 = Lecture('123', 'lecture1');
  lecture1.printIdType();
  
  //외부 2
  Lecture<int, String> lecture2 = Lecture(123, 'lecture2');
  lecture2.printIdType();
}

//generic = 타입을 외부에서 받을 때 사용
class Lecture<T, X>{
  final T id; // 변수 id 값의 타입을 다이나믹 하게 만들 수 있다
  final X name;
  
  Lecture(this.id, this.name);
  
  void printIdType(){
    print(id.runtimeType); //해당 변수의 타입이 무엇인지 확인
  }
}

팁) runtimeType 함수는 자신이 어떤 타입인지 알려주며 해당 메소드는 최상위 클래스인 Object 클래스에서 만들어 졌다 

반응형