반응형
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: "수잔")])
보면 결국 어떠한 형의 값을 받아도 소화할 수 있는 상태로 만드는 것을 제네릭이라고 볼 수 있다.
타입에 구애 받지 않는 구조체 , 클래스 , 함수 등등 만들 수 있다.
반응형
'App Dev > iOS' 카테고리의 다른 글
iOS Swift 조건문 삼항 연산자 기초문법 사용법 (1) | 2023.05.17 |
---|---|
SwiftUI 개발 macOS 환경설정 및 Image HStack VStack padding 기초문법 활용해보자 ! (2) | 2023.05.04 |
iOS Swift 함수 매개변수 사용 방법 ( 변수명 변경, 생략) (0) | 2023.04.03 |
iOS Swift 옵셔널 변수를 Unwrapping 하는 두가지 방법 (0) | 2023.03.27 |
iOS Swift Enum 열거형은 어떻게 쓰는 걸까 ? (0) | 2023.03.27 |
iOS Swift Foreach 반복문 기초문법 사용법 알아봅시다 (0) | 2023.03.27 |