728x90
// Generic - 타입을 외부에서 받을때 사용
List<String> names = []; // 리스트 선언할때 했었음
List<String> 이 부분임 리스트 안에 String 자료형이 들어간다.
void main(){
//List<String> names = []; // 리스트 선언할때 했었음
// id 값 String 값으로 넣고 싶다면 이렇게 Generic 부분에 지정할 타입 값 넣을때 '123' 이렇게 문자로 보내주면됨
Lecture<String> lecture1 = Lecture('123', 'lecture1');
}
// Generic - 타입을 외부에서 받을때 사용
class Lecture<T>{ // T말고 어떤 이름이던 상관 없음
final T id; // id의 자료형 즉 뭐가 될지 외부에서 선언할수 있음 가끔 이런게 필요한 상황이 있음
final String name;
Lecture(this.id, this.name);
}
이해 하기 쉽게 타입 출력 해보자
void main(){
//List<String> names = []; // 리스트 선언할때 했었음
// id 값 String 값으로 넣고 싶다면 이렇게 Generic 부분에 지정할 타입 값 넣을때 '123' 이렇게 문자로 보내주면됨
Lecture<String> lecture1 = Lecture('123', 'lecture1');
lecture1.printIdType();// 확인시 우리가 지정한거 처럼 id는 string 타입이 됨
Lecture<int> lecture2 = Lecture(123, 'lecture2');
lecture2.printIdType(); // 이렇게 하면 int형이 나옴
// 즉 Generic은 type을 외부에서 변수처럼 받아서 사용할수 있도록 해주는 것임
}
// Generic - 타입을 외부에서 받을때 사용
class Lecture<T>{ // T말고 어떤 이름이던 상관 없음
final T id; // id의 자료형 즉 뭐가 될지 외부에서 선언할수 있음 가끔 이런게 필요한 상황이 있음
final String name;
Lecture(this.id, this.name);
void printIdType(){
print(id.runtimeType);
}
}
그래서 다시 말하면 Generic - 타입을 외부에서 받을때 사용 이게 끝임
2개를 전달 할수도 있음
Lecture<String, String> lecture1 = Lecture('123', 'lecture1');
class Lecture<T, X>{ 이렇게 타입을 2개 넣을수도 있음
final T id;
final X name;
*/
이런식으로 뭐 둘다 T 또는 X 써도 됨
728x90
'APP > Dart' 카테고리의 다른 글
dart로 배우는 함수형 프로그래밍 : 형변환 (0) | 2022.08.18 |
---|---|
왜 class를 사용하여 코딩하는걸 OOP 라고 하는가? (0) | 2022.08.16 |
dart 객체지향 프로그래밍 Interface 란? , 상속과 차이, abstract란? (0) | 2022.08.16 |
dart 객체지향프로그래밍 static 키워드란?, 인스턴스에 귀속, 클레스에 귀속된다는 건 무슨 말인가? (0) | 2022.08.16 |
dart 객체지향 프로그래밍 Override란? (0) | 2022.08.16 |