Deep_Dev
article thumbnail

๐Ÿ“– Day 09  : Generic ( ์ œ๋„ค๋ฆญ )

๐Ÿ’ก Generic : ์–ด๋– ํ•œ ์ž๋ฃŒํ˜•์ด๋“  ๋ฐ›๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉํ•˜๋Š”, ๋ฒ”์šฉ  ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ ์‚ฌ์šฉ

                    

 

๐Ÿ“Œ  ์ œ๋„ค๋ฆญ ํ•จ์ˆ˜

์ œ๋„ค๋ฆญ์€ <>์„ ํ†ตํ•ด ๋‚˜ํƒ€๋‚ด๊ณ , ์ด ์•ˆ์— ํƒ€์ž…์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•  ์ด๋ฆ„์„ ๋„ฃ์–ด์ฃผ๋ฉด ๋œ๋‹ค.

๋ณดํ†ต์€ T๋ฅผ ๋งŽ์ด ๋„ฃ๋Š”๋‹ค.

 

๐Ÿ’ฌ ๋‹ค์–‘ํ•œ Type ์˜ˆ์‹œ ์ถœ๋ ฅ

var mySomeArray = MyArray([1,2,3])
print("mySomeArray : \(mySomeArray)")

var myStringArray = MyArray(["๊ฐ€", "๋‚˜"])
print("myStringArray : \(myStringArray)")

>>> mySomeArray : MyArray<Int>(elements: [1, 2, 3])
>>> myStringArray : MyArray<String>(elements: ["๊ฐ€", "๋‚˜"])

 

๐Ÿ’ฌ  ๊ตฌ์กฐ์ฒด๋ฅผ ์„ ์–ธํ•˜๊ณ  ์˜ˆ์‹œ ์ถœ๋ ฅ

struct Friend {
    var name : String
}

let friend_01 = Friend(name: "๊ฐœ๋ฐœ")
let friend_02 = Friend(name: "์Šค์œ„ํ”„ํŠธ")

var myFriendsArray = MyArray([friend_01, friend_02, "๋‚˜", "๋‹ค"])
print("myFriendsArray : \(myFriendsArray)")

>>> myFriendsArray : MyArray<Any>(elements: [__lldb_expr_60.Friend(name: "๊ฐœ๋ฐœ"), __lldb_expr_60.Friend(name: "์Šค์œ„ํ”„ํŠธ"), "๋‚˜", "๋‹ค"])