라벨이 제네릭인 게시물 표시

[swift] 입문자를 위한 Generic에 대한 기초 개념

이미지
Generic에 관하여 제네릭에 대해 알아보자 제네릭이라는 단어를 듣고 여러 타입을 가리키는 타입변수 라는 정의만 알고있고 실제로 제네릭을 쓰기만 하고 구현해보지 않아 익숙하지 않은 부분이 존재하는 것 같아서 직접 함수를 구현해보면서 온전하게 이해해 보도록 하겠습니다. 설명은 애플 공식문서에 잘 나와있기 때문에 참고하였습니다. 문서 보러가기 제네릭이 왜 필요하게 되었지 편리한 것들은 과거에 어려움이 있었기 때문에 그 문제를 해결하기 위해서 생겨나겟 되었습니다. 제레릭이 어떤 문제들을 해결하기 위해 생겨났는지 살펴보겠습니다. 아래의 코드를 한번 살펴보시죠. func swapTwoInts(_ a: inout Int, _ b: inout Int) { let temporaryA = a a = b b = temporaryA } var someInt = 3 var anotherInt = 107 swapTwoInts(&someInt, &anotherInt) // someInt : 107, anotherInt : 3" 쉬운 예제네요. 두 변수의 주소값을 입력 해주면 두 변수의 값이 서로 바뀌어 있습니다. 이 함수를 잘 쓰고 있다가, Double형이나 String 형도 변환할 일이 생기면 다음과 같이 추가로 구현해 주어야합니다. func swapTwoStrings(_ a: inout String, _ b: inout String) { let temporaryA = a a = b b = temporaryA } func swapTwoDoubles(_ a: inout Double, _ b: inout Double) { let temporaryA = a a = b b = temporaryA } 와… 그러면 같은 기능에 변수의 타입이 다를 경우 전부 다 구현해주어야 하는걸꺼요? 그래서 생긴 개념이 이 제네릭입니다. 그럼 어떻게 사용