App Dev/iOS
iOS Swift <T> Generic 제네릭 사용법
이준호
2023. 3. 28. 00:40
반응형
Generic이란?
제네릭이란 타입에 의존하지 않는 범용 코드를 작성할 때 사용한다
제네릭을 사용하면 중복을 피하고, 코드를 유연하게 작성할 수 있다
그래서 제네릭은 더 유연하고 재사용 가능한 함수와 타입의 코드를 작성하는 것을 가능하게 해 줍니다.
import UIKit
//제네릭 : 어떠한 자료 형이든 받는다.
struct MyArray<T>{
//제네릭을 담은 빈 배열
var elements : [T] = [T]()
init(_ elements : [T]){
self.elements = elements
}
}
struct Friend{
var name : String
}
struct PpakCoder {
var name : String
}
var mysomeArray = MyArray([1,2,3])
print("mySomeArray : \(mysomeArray)")
var mystringArray = MyArray(["가" , "나", "다"])
print("mySomeArray : \(mystringArray)")
let friend_01 = Friend(name : "철수")
let friend_02 = Friend(name : "영희")
let friend_03 = Friend(name : "수잔")
var myfiendArray = MyArray([friend_01,friend_02,friend_03])
print("myfiendArray : \(myfiendArray)")
[결과]
mySomeArray : MyArray<Int>(elements: [1, 2, 3])
mySomeArray : MyArray<String>(elements: ["가", "나", "다"])
myfiendArray : MyArray<Friend>(elements: [__lldb_expr_81.Friend(name: "철수"), __lldb_expr_81.Friend(name: "영희"), __lldb_expr_81.Friend(name: "수잔")])
보면 결국 어떠한 형의 값을 받아도 소화할 수 있는 상태로 만드는 것을 제네릭이라고 볼 수 있다.
타입에 구애 받지 않는 구조체 , 클래스 , 함수 등등 만들 수 있다.
반응형