제네릭 클래스
class NumberList {
constructor(private list: number[]){}
push(data : number) {
this.list.push(data)
}
pop(){
return this.list.pop();
}
print() {
console.log(this.list);
}
}
const numberList = new NumberList([1,2,3]);
numberList.pop();
numberList.push(4);
numberList.print();
위의 코드 제네릭 클래스로 바꾸기
class List<T> {
constructor(private list: T[]){}
push(data : T) {
this.list.push(data)
}
pop(){
return this.list.pop();
}
print() {
console.log(this.list);
}
}
const numberList1 = new List([1,2,3]);
numberList.pop();
numberList.push(4);
numberList.print();
const stringList1 = new List(["1","2"]);
stringList1.push("hello")
const stringList2 = new List<string>(["1","2"]);