변수와 상수 , 자료형 , 기본 데이터 타입

2023. 5. 3. 13:51Swift 이해/Swift 문법

변수와 상수

//변수 선언
var name = "iphone14"

//상수 선언
let price = 150

변수 : 값을 수정할수 있음 

상수 : 값을 수정할수 없음

name = "iphone14-pro"

예를들어 아이폰14에서 아이폰14프로로 값을 변경할수 있는 반면에 

price = 160 //Error : Cannot assign to value: 'price' is a 'let' constant

상수로 지정된 가격은 변경할수 없다는 에러가 뜹니다.

 

자료형

 

Swift는 변수와 상수를 정의할 때 그 자료형이 어떤것인지 명시해야하는 정적 언어입니다.

예를들어

var name: String = "iphone14"
let price: Int = 150
let cases: Float = 5.5

이렇게 상수 또는 변수 뒤에

: 자료형

을 써주면 되는데 전문 용어로 Type Annotation(타입 어노테이션)이라고 합니다.

 

아이폰14와 케이스를 같이 사려고 합니다.

price + cases // Error : Binary operator '+' cannot be applied to operands of type 'Int' and 'Float'

에러가 납니다. 에러내용은 Int와 Float을 연산할수 없다고 하네요.

 

다른 언어 같으면 Int와 Float은 정수형이므로 연산이 가능합니다.

하지만 Swift는 자료형을 맞춰줘야 연산이 가능합니다.

Float(price) + cases

이렇게 말이죠

 

맨 처음에 선언한 변수,상수에는 자료형을 정의하지 않았는데 컴파일이 가능한 이유는 바로 

Swift의 Type Inference(타입 추론) 때문 입니다.

 

변수뒤에 ""가 오면 String

숫자가 오면 Int인것을 알아서 인식하는거죠

 

이제 다른 데이터 타입에 대해서도 알아보겠습니다.

 

기본 데이터 타입

 

Bool

참(true), 거짓(false)을 표현하기 위한 타입

var ibool: Bool = true
//true or false로만 변경 가능
ibool = false
ibool = "false" //Error : Cannot assign value of type 'String' to type 'Bool'

Bool은 true 또는 false값만 가지기 때문에 그외의 자료형을 쓸 수 없습니다.

 

Int , UInt

Int : 정수형 타입. 64비트 정수형 타입. 대략 -922 ~ 922경까지의 정수를 다룰수 있습니다.

UInt : 부호가 없는 정수(양수)형 타입. 대략 0 ~ 1844 경까지의 0과 양의 정수를 다룰 수 있습니다.

var iInt: Int = 100
var iUInt: UInt = 100

iInt = -100
iUInt = -100 //Error : Negative integer '-100' overflows when stored into unsigned type 'UInt'

UInt는 음수를 다를수 없으므로 에러가 납니다.

 

Float , Double

Float : 32비트 부동소수형 타입. 소수점 8자리 표기

Double : 64비트 부동소수형 타입. 소수점 16자리 표기

var ifloat: Float = 3.141231241413123
var idouble: Double = 3.141231241413123

print(ifloat) // Result : 3.1412313
print(idouble) // Result : 3.141231241413123

 

 

String , Character

String : 여러 문자를 표현하기 위한 타입

Character : 한 글자를 표현하기 위한 타입

var iString: String = "웃자"
var iCharacter: Character = "ㅎ"

iString = "울자"
iCharacter = "ㅠㅠ" // Error : Cannot assign value of type 'String' to type 'Character'

Character는 한 문자만을 표기해야 하며 두글자 이상일 경우 String으로 선언해야 합니다.

 

이상 Swift 문법 이해하기 1편을 마치도록 하겠습니다.

'Swift 이해 > Swift 문법' 카테고리의 다른 글

[Swift] 프로퍼티 옵저버  (0) 2023.06.19
함수  (0) 2023.05.16
반복문  (0) 2023.05.14
조건문  (0) 2023.05.07
컬렉션 데이터 타입  (0) 2023.05.04