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: "μŠ€μœ„ν”„νŠΈ"), "λ‚˜", "λ‹€"])