[SwiftUI] Type의 성격 중 Type Safety
import UIKit
// Type Safety
// 적절한 type 으로 값을 처리하기 위해서
// type을 엄격하게 지킴
// 지정한 type에 맞는 값만 할당해야 함
// let str1: String = 123
let str1: String = "123"
// Int type 변수에 실수를 할당하지 못함
// let num1: Int = 3.14
// num2 나 num3 나 모두 Int type
// 이지만 값을 저장하는 공간의 크기가 달라서 num2 를 num3에 할당하지 못함
let num2 = 23
type(of: num2)
// let num3: Int8 = num2
let num4 = 12
let num5 = 23.45
// Int type과 Double type을
// 같이 연산하지 못함
// let result = num4 + num5
let rate = 2.34
let amount = 10_000_000
// Int type과 Double type을
// 같이 연산하지 못함
// type을 같게 해 주어야 함
// let result = rate * amount
// Double(amount) : Int type 인
// amount 를 Double type 으로 형변환함
let result = rate * Double(amount)
type(of: result)
// 결괏값을 Int type 으로 형변화하기
// result : Double --> Int
Int(result)
Int(rate * Double(amount))
// rate 는 Double type 으로서
// 소숫점 이하 값을 표현할 수 있는데
// 이를 Int type 으로 형변환하면
// 소숫점 이하 값을 표현하지 못하는
// 형태가 되어서 정수부분만 표현함
Int(rate) * amount