iOS/Swift 기초 문법

swift 기초 문법(1) - 상수와 변수, 기본 데이터 타입

행인3 2022. 1. 17. 17:26

1. 상수

상수 : 변하지 않는 일정한 값을 갖는다

// let 상수명: 데이터 타입 = 값
let a: Int = 100

swift의 장점 중 하나인 안정성의 이유로 변하지 않는 값을 상수로 설정하면 후에 값을 잘 못 입력하게 되는 경우, 컴파일러가 에러로 표시해 주어 상수값이 변경되는 경우를 막아줍니다. 그로 인해 사용자에게 잘못된 값을 노출시키는 경우가 없어집니다.

상수로 선언된 값을 변경하게 되는 경우 위와 같은 컴파일 에러가 나타난다.

 

2. 변수

변수 : 변할 수 있는 값을 갖는다

// var 변수명: 데이터 타입 = 값
var a: Int = 100
a = 200

상수와는 다르게 값을 변경해도 컴파일 에러가 나타나지 않으며 변할 수 있는 값을 가진다.

 

3. 기본 데이터 타입

기본 데이터 타입은 아래와 같이 총 8개의 타입이 있다.

Int 64bit 정수형
UInt 부호가 없는 64bit 정수형
Float 32bit 부동 소수점
Double 64bit 부동 소수점
Bool true, false 값
Character 문자
String 문자열
Any 모든 타입을 지칭하는 키워드

 

1) Int, UInt

숫자를 저장하는 Int 데이터 타입과 UInt 데이터 타입은 숫자(정수형)를 저장하지만 부호를 저장할 수 있고, 없고의 차이점이 존재한다.

//Int
var someInt: Int = -10
someInt = 10

// UInt
var someUInt: UInt = 10
someUInt = -10

마지막 라인의 someUInt에 값 -10을 넣으면 아래와 같은 에러 메세지가 출력된다.

UInt는 Int형과는 다르게 부호가 없는 정수형을 저장할 수 있기 때문에 부호가 있는 -10은 저장이 불가능하다.

 

2) Float

var someFloat: Float = 1.1
someFloat = 1

소수점 타입인 someFloat 변수에 (마지막 라인을 보면) 정수형인 1을 저장해도 자동으로 1.0이라는 실수로 저장되기 때문에 에러가 표시되지 않는다.

 

3) Double

// Double
var someDouble: Double = 1.1
someDouble = 1

float과 동일하게 someDouble 변수에 정수형인 1을 저장해도 자동으로 1.0이라는 실수로 저장되기 때문에 에러가 표시되지 않는다.

 

4) Bool

var someBool: Bool = true
someBool = false

Bool형은 참 혹은 거짓을 저장하는 데이터 타입이다.

 

5) Character

// Character
var someCharacter: Character = "가"
someCharacter = "A"
someCharacter = "🥕"
someCharacter = "abcdef"

Character는 문자를 저장하는 데이터 타입이다. 마지막 라인의 "abcedf"는 문자열(String 타입)이기 때문에 저장되지 않으며 아래와 같은 에러를 표시한다.

 

6) String

// String
var someString: String = "안녕하세요 👏"

String은 문자열을 저장하는 데이터 타입이다.

 

⭐️ 타입 추론 ⭐️

// 타입 추론
var someNumber = 10

코드에 선언되어 있는 변수, 상수 명 뒤에 특정 타입을 선언하지 않아도 컴파일러가 자동적으로 판단하여 할당해 주는 것을 타입 추론이라 한다.

 

 

※오타 및 잘못된 내용이 있다면 댓글로 알려주세요.