제네릭은 추상 코드를 작성하는 기본 도구로 코드가 진화할 수록 복잡성을 관리하는데 매우 중요하다.
Abstraction seperates ideas from specific details
추상화는 아이디어를 구체적인 세부 사항과 구분합니다.
let startRadius = startAngle * .pi / 180.0
let endRadius = endAngle * .pi / 180.0
func radians(from degrees: Double) -> Double {
degrees * .pi / 180.0
}
let startRadius = radians(from: startAngle)
let endRadius = radians(from: endAngle)
<T> where T: Idea