제네릭 데이터 타입

제네릭을 사용하여 필드의 타입을 추상화 할 수 있습니다:

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Speaker Notes

This slide should take about 10 minutes.
  • 질문: impl<T> Point<T> {}에서 T가 왜 두 번 사용됩니까?

    • 제네릭 타입에 대한 제네릭 구현 이기 때문입니다. 이 두 제네릭은 서로 독립적입니다.
    • 이는 임의의 모든 T에 대해서 이 메소드들이 정의된다는 것을 의미합니다.
    • It is possible to write impl Point<u32> { .. }.
      • Point는 여전히 제네릭이며 Point<f64>를 사용할 수도 있지만 이 블록의 메서드는 Point<u32>만 쓸 수 있습니다.
  • 새 변수 let p = Point { x: 5, y: 10.0 };를 선언해 보세요. 다음과 같은 두 개의 타입 변수를 사용하여 다른 타입의 요소를 가진 포인트를 허용하도록 코드를 업데이트합니다. TU