[Swift] Generic과 Type 이해하기
·
Apple/Swift
안녕하세요! 피피아노입니다 🎵 이번 포스팅은 지난번 포스팅에 이어서 제네릭(Generic)과 타입(Type)에 대해서 정리를 해보겠습니다! 지난 포스팅이 궁금하시다면 여기를 참고해주세요! 그럼 바로 시작해보겠습니다. 타입 제약(Type Constraints) 제네릭 기능의 타입 매개변수는 실제 사용시 타입의 제약 없이 사용할 수 있지만 종종 제네릭 함수가 처리해야 할 기능이 특정 타입에 한정되어야만 처리가 가능하거나, 제네릭 타입을 특정 프로토콜을 따르는 타입만 사용할 수 있도록 제약을 두어야 하는 상황이 발생합니다. 타입 제약은 이렇게 제약이 필요할 때 타입 매개변수가 가져야 할 제약을 지정할 수 있는 방법입니다. 타입 제약은 클래스 타입 또는 프로토콜로만 줄 수 있습니다. 즉, 열거형, 구조체 등의 ..
[Swift] Generic 이해하기
·
Apple/Swift
안녕하세요! 피피아노입니다 🎵 이번 포스팅은 제네릭(Generic)에 대해서 정리해보려고 합니다! 제네릭은 낯설게 들릴 수 있지만, 알고보면 간단한 문법입니다! 그럼 본격적으로 제네릭에 대해서 공부를 해보겠습니다! Generic이란? 범용 타입이라고도 불리는 제네릭을 번역해보면 '일반적인'이라는 뜻입니다. 이름에서도 유추할 수 있듯이 제네릭은 어떤 타입이든 일반적으로 유연하게 대응할 수 있는 코드를 작성해주는 도구입니다. 비유해서 설명해보자면 제네릭은 마치 '틀'과 같습니다. 무슨 틀이냐구요? 바로 아이스크림 틀이죠. 아이스크림 틀에는 무슨 맛의 아이스크림을 넣든 상관없이 동일한 모양의 아이스크림을 만들 수 있습니다. 제네릭도 마찬가지로, 어떤 타입이 들어오든 그 '틀'에 맞춰 동일한 동작을 수행합니다...