
func ํจ์์ด๋ฆ<T>(๋งค๊ฐ๋ณ์: T) {
// T๋ ์ค์ ์ฌ์ฉํ ๋ ๊ตฌ์ฒด์ ์ธ ํ์
์ผ๋ก ๋ณํ๋จ
}
// ๋ฐ์ดํฐ ๊ฐ์ ธ์ค๊ธฐ ํจ์
private func fetchData<T: Decodable>(url: URL, completion: @escaping (T?) -> Void) {
// T๋ Decodable ํ๋กํ ์ฝ์ ์ค์ํ๋ ์ด๋ค ํ์
์ด๋ ๋ ์ ์์
}
------ ์๋๋ Ai ๋ต๋ณ -------
์ ๋ค๋ฆญ์ '๋ง๋ฅ ๋๊ตฌ'๋ผ๊ณ ์๊ฐํด๋ณด๋ฉด ์ฝ์ต๋๋ค.
๐จ ๋ฏธ์ ๋๊ตฌ ๋น์ ๋ก ์ค๋ช ํ๋ฉด:
์ผ๋ฐ ํจ์:
func ๋นจ๊ฐ์์น ํ๊ธฐ(๋นจ๊ฐ์์ฐํ)
func ํ๋์์น ํ๊ธฐ(ํ๋์์ฐํ)
func ๋
ธ๋์์น ํ๊ธฐ(๋
ธ๋์์ฐํ)
์ ๋ค๋ฆญ ํจ์:
func ์์น ํ๊ธฐ<์๋ฌด์์ฐํ>(์ฐํ)
๐ ์ ๋ฌผ ํฌ์ฅ ๋น์ :
func ํฌ์ฅํ๊ธฐ<T>(์ ๋ฌผ: T) {
// T๋ ์ฅ๋๊ฐ์ด ๋ ์๋, ์ท์ด ๋ ์๋, ์ฑ
์ด ๋ ์๋ ์์ด์
}
๋น์ ์ด ๋ณด์ฌ์ค ์ฝ๋์์๋:
fetchData<T: Decodable>
์ฝ๊ฒ ๋งํด์, ์ ๋ค๋ฆญ์ "์ฌ๋ฌ ํ์ ์ ํ๋์ ๋ฐฉ์์ผ๋ก ์ฒ๋ฆฌํ ์ ์๊ฒ ํด์ฃผ๋ ๋ง๋ฅ ๋๊ตฌ"์์! ๐