Swift랑 친해지기/Swift문법정리

[Swift] Type Inference, Type Annotation, Type Conversion, Type Alias

데브킹덕 2022. 7. 25. 17:27

String Type을 원할때는 String Type을 사용하면 되지만

 

 

Character Type을 사용하기 위해서 " "안에 문자를 넣으면 Character 타입이 아니라 String 타입이 됨

 

 

 

문자열 외에 정수형은 Int타입, 실수형은 Double타입, 참, 거짓은 Boolean타입으로 추론이 됨 

 

 

Type Inference 

이렇게 자료형을 명시적을 초기 값을 통해 자료형을 알아서 결정하는 것을 형식 추론이라고 함

 

let value

주의사항

컴파일러 입장에서는 value를 저장하는 메모리를 만들기 위해 메모리 공간 크기를 파악하려함

이때 자료형이 선언되었는지 확인을 하고 없으면 형식 추론을 하려함

이때 컴파일러가 초기값이 있는지 확인하는데 초기값이 없게되면 단서가 없어 에러가 발생됨

 

 

Type Annotation

다른 자료형으로 저장하고 싶을때 사용함

형식 추론에 비해 컴파일 시간이 단축됨

let name: Type = value

 

 

 

Type Conversion

-메모리에 저장된 값을 다른 형식으로 바꿔서 새로운 값을 생성

Type(Value)

성공하면 값이 바뀌고 실패하게 되면 에러가 나거나 nil이 반환됨

* 유의 할점 Type Casting( 메모리에 저장된 값을 그대로 두고 컴파일러가 다른 형식으로 처리하도록 지시)과 다름

성공
실패시 에러
실패시 nil

 

 

Type Alias 

타입 값을 만들어  쉽게 파악할 수 있다.

typealias NewName = TypeName