상수 선언 키워드 let
let 이름: 타입 = 값
변수 선언 키워드 var
var 이름: 타입 = 값
let 이름 = 값
let constant: String = "차후에 변경이 불가능한 상수"
var variable: String = "차후에 변경이 가능한 변수"
variable = "차후에 다른 값 할당 가능"
constant = "차후에 값 변경 불가능" // 오류 발생
// 상수 선언 후 값 할당
let sum: Int
let a: Int = 100
let b: Int = 200
sum = a + b
sum = 0 // 오류 발생 - 상수의 값 변경 불가능!
// 변수 선언 후 할당
var nickName: String
nickname = "yeon"
nickname = "leeeeeeyeon"
// Bool
var someBool: Bool = true
someBool = false
someBool = 0 // 오류 발생 - 다른 언어처럼 0, 1로 boolean 값 할당 불가능
// Int
var someInt: Int = 100
// UInt
// Unsigned Int, 양의 정수
var someUInt: UInt = 100
someUInt = someInt // 오류 발생 - UInt에 Int 타입 사용 불가능
// Float
var someFloat: Float = 3.14
someFloat = 3 // 정수 값 사용 가능
// Double
var someDouble: Double = 3.14
someDouble = 3 // 정수 값 사용 가능
someDouble = someFloat // 오류 발생 - Float과 호환 불가능
// Character
// 한 글자 문자를 표현
// 큰 따옴표(" ") 사용
var someCharacter: Character = "🥴"
someCharacter = "얍"
someCharacter = "A"
// String
var someString: String = "안녕하세요"
someString = someString + ", 반가워요" // 연산자를 사용한 문자열 합치기 가능
// Any
var someAny: Any = 100
someAny = "어떤 타입도 수용 가능"
someAny = 123.12
let someDouble: Double = someAny // 오류 발생 - 데이터 타입에 Any 할당 불가능
// AnyObject
class SomeClass {}
var someAnyObject: AnyObject = SomeClass()
// nil
// null과 유사
someAny = nil // 오류 발생 - Any에 할당 불가능
soneAnyObject = nil // 오류 발생 - AnyObject에 할당 불가능