[iOS] Swift의 Type
named Types
이름을 가진 타입으로 Class / Struct / Enum / Protocol이 여기에 해당한다. 이런 타입들은 이름을 지정해서 만들기 때문에 named Types이다(?) Int / String / Bool 등도 결국 Struct로 구현이 되어있기 떄문에 named Types 이라고 할 수 있다. 통상적으로 다른 언어에서도 기본으로 여겨지는 데이터 타입들이 이에 속하며 이름이 존재하기 때문에 확장이 가능하다.
struct People {
var name: String
}
let first = People(name: "pinocchio22")
let socond = People(name: "pinocchio33")
compound Types
이름이 없는 복합 타입으로 Swift 언어 자체에서 정의된다.
tuple Types
named types 나 compound types를 포함하며 다양한 데이터 묶음에 대하여 새롭게 정의하여 사용할 수 있는 타입이다. 상황에 따라 유용하게 사용할 수 있지만 임시적으로 그룹짓는 데이터에 대해서만 사용하고 임시적인 범위를 넘어서 존속 가능성이 있는 데이터는 클래스나 구조체로 모델링해서 사용하기를 Swift에서도 권장하고 있다.
let tuple: (String, Int) = ("pinocchio22", 1)
tuple types에 named types인 String과 Int가 들어갈 수 있다.
function Types
function / method / closure 등이 여기에 포함되며 일반적인 함수 사용방법과 약간 다르게 파라미터와 리턴타입이 있어야한다. (parameter type) -> (return type)
파라미터가 존재하는 함수 타입
함수의 타입은 파라미터의 타입만을 작성하고 오직 어떤 타입의 파라미터인지만 고려하여 판단한다.
// 함수타입 (String) -> ()
func setPeople(name: String) {}
파라미터와 리턴타입이 존재하는 함수 타입
이 역시 파라미터와 리턴타입만을 작성하고 두 타입이 어떤 타입인지만 고려하여 판단한다.
// 함수타입 (String) -> (String)
func setPeople(name: String) -> String {
return "pinocchio22"
}
파리미터와 리턴타입이 모두 존재하지 않는 함수 타입
파라미터와 리턴타입이 모두 존재하지 않기 떄문에 빈 괄호토 타입을 표기한다.
// 함수타입 () -> ()
func setPeople() {}
댓글남기기