func swapTwoValues<T>(_ a: inout T, _ b: inout T) {
let temporaryA = a
a = b
b = temporaryA
}
// Generic을 사용하니, 유연함과 재사용성이 높아진다!
// 이렇게만 해주면, 이 함수 하나로 Int, String, Double변수들의 값을 바꿔줄 수 있다.
결정
된다!!! a, b는 이 타입과 반드시 일치해야 함!제네릭을 이용해 코드를 구현하면 어떤 타입에도 유연하게 대응할 수 있다.
제네릭으로 구현한 기능과 타입은 재사용하기도 쉽고, 코드의 중복을 줄일 수 있다는 장점이 있어서 제네릭을 사용했다.