티스토리 뷰

Swift

Swift ) Types

Zedd0202 2017. 10. 1. 21:37
반응형

안녕하세요 :) Zedd입니다.

지금 tuple에 관한 글을 쓰고 있는 중인데,

간단하게 Swift의 Type에는 어떤것들이 있는지 알아보려고 해요 :)

굉장히 짧은 글이 될 듯 한데, tuple을 알려면 꼭 알아야 할 것 같아서..

이 글은 The Swift Programming Language (Swift 4) - Types >에 있는 글을 그냥 번역하는 수준이 될 것 같네요 :)

시작할게요!!



Types




먼저 우리 항상 타입, 타입.. 그러죠?

이건 Int타입이야. 이건 Bool타입이야.

사실 Swift에서 "타입"은 2가지 종류가 있답니다.



named Types


compound Types


이렇게요!


하나씩 설명드릴게요.



named Types


"네임드" 타입? 

뭔가 "이름"이 있는 타입같네요.

네 맞아요. Swift에서 Named Type은 클래스, 구조체, 열거형(enum) 그리고 프로토콜을 포함한답니다.

예를들어서 제가 Zedd라는 "클래스"를 만들면, Zedd라는 "이름"을 가지고 있는 "타입"이 만들어지게 되죠.


그럼 우리가 위에서 말한 Int, String, Double...이런 기본 데이터타입은 named type일까요?



.

.

네! 맞습니다.

우리 named type에는 클래스, 구조체, 열거형, 프로토콜이 있다고 그랬죠? 

제가 예전에 썼던 <Swift 기초 문법(Class/Struct/Enum)>에서 볼 수 있듯이, Swift의 기본데이터타입들은 구조체로 구현이 되어있습니다.

그러니까!! Int, String, Double...이런 기본데이터타입들도 Named Type이라고 할 수 있겠네요 :)




compound Types


compound하면 뭔가 합성...? 복합..? 이런 뜻 같죠?

compound Types에 대해서 설명드리자면,  compound Types은 "이름이 없는" 타입으로, Swift언어 자체에서 정의됩니다.

 compound Types에는 또 두가지 유형이 있다고 하네요.


1. function type

2. tuple type


또한, compound Types은 위에서 배운 named type과 기타 compound Types들이 포함될 수 있다고 해요. 

tuple로 예를 들자면,


(Int, (Int, Int))


첫번째 Int는 위에서 배운 named type이었죠?

그리고 두번째 (Int,Int)는 곧 배울 compound Types중 하나인 tuple이랍니다. 

그러니까 (Int, (Int, Int))는 compound Type중 하나인 tuple type으로, 

named type과 compound Type이 둘다 포함되어있는 것을 볼 수 있죠. 






named Type과 compound Type의 차이점을 보았고,

추가로 named Type과 compound Type을 괄호로 묶을 수 있지만, 어느 ""타입에 괄호를 묶는것은 아무런 효과가 없다고 하네요.

예를들어 (Int)와 Int는 같은거죠.

당연하겠죠?



이제 Swift의 Type에대해서 조금 이해가 가시나요?

Swift의 타입에 대해서 더 자세히 알고싶다!!하시는 분들은,

The Swift Programming Language (Swift 4) - Types >문서를 보시는것도 큰 도움이 될 것 같네요 :)

오늘도 도움이 되었길 바라며..

다음글에서 만나요 🙌 그리고 즐거운 추석되세요 :)🙇‍♀️


반응형

'Swift' 카테고리의 다른 글

Swift ) Properties - Stored Property(저장 프로퍼티)  (5) 2017.10.06
Swift ) tuple  (3) 2017.10.02
Swift ) split에 대한 고찰  (1) 2017.09.27
함수(Function) VS 메소드(Method)  (3) 2017.09.26
Swift ) Generic  (7) 2017.09.22