본문 바로가기

Swift/기본문법

데이터 타입

Swift의 기본 데이터 타입


  • Bool
  • Int, UInt
  • Float, Double
  • Character, String


소스코드


Bool

truefalse만을 값으로 가지는 타입

var someBool: Bool = true
someBool = false
// someBool = 0 // 컴파일 오류발생
// someBool = 1 // 컴파일 오류발생



Int, UInt


Int


정수 타입. 현재는 기본적으로 64비트 정수형.

var someInt: Int = -100
// someInt = 100.1 // 컴파일 오류발생


UInt


양의 정수 타입. 현재는 기본적으로 64비트 양의 정수형.

var someUInt: UInt = 100
// someUInt = -100 // 컴파일 오류발생
// someUInt = someInt // 컴파일 오류발생


Float, Double


Float


실수 타입. 32비트 부동소수형.

var someFloat: Float = 3.14
someFloat = 3


Double


실수타입. 64비트 부동소수형.

var someDouble: Double = 3.14
someDouble = 3
// someDouble = someFloat // 컴파일 오류발생


Character, String


Character


문자 타입. 유니코드 사용. 큰따옴표("") 사용.

var someCharacter: Character = ""
someCharacter = ""
someCharacter = "가"
someCharacter = "A"
// someCharacter = "하하하" // 컴파일 오류발생
print(someCharacter)


String


문자열 타입. 유니코드 사용. 큰따옴표("") 사용.

var someString: String = "하하하  "
someString = someString + "웃으면 복이와요"
print(someString)

// someString = someCharacter // 컴파일 오류발생


생각해보기


다음 코드에서 integer, floatingPoint, apple 상수는 각각 어떤 타입이 될까요? 상상해보고 확인해보세요~!

let integer = 100
let floatingPoint = 12.34
let apple = "A"

힌트 : type(of: )



Any, AnyObject, nil


  • Any
  • AnyObject
  • nil


소스코드


Any


Swift의 모든 타입을 지칭하는 키워드

var someAny: Any = 100
someAny = "어떤 타입도 수용 가능합니다"
someAny = 123.12


Any 타입에 Double 자료를 넣어두었더라도 Any는 Double 타입이 아니기 때문에 할당할 수 없습니다. 명시적으로 타입을 변환해 주어야 합니다. 타입 변환은 차후에 다룹니다


let someDouble: Double = someAny  // 컴파일 오류발생


AnyObject


모든 클래스 타입을 지칭하는 프로토콜

클래스와 프로토콜에 대한 설명은 차후에 합니다

class SomeClass {}

var someAnyObject: AnyObject = SomeClass()


AnyObject는 클래스의 인스턴스만 수용 가능하기 때문에 클래스의 인스턴스가 아니면 할당할 수 없습니다.

someAnyObject = 123.12    // 컴파일 오류발생


nil


없음을 의미하는 키워드

다른 언어의 NULL, Null, null 등과 유사한 표현입니다.


아래 코드에서 someAnyAny 타입이고, someAnyObjectAnyObject 타입이기 때문에 nil을 할당할 수 없습니다.
nil을 다루는 방법은 옵셔널 파트에서 다룹니다.

someAny = nil         // 컴파일 오류발생
someAnyObject = nil   // 컴파일 오류발생


관련문서






by yagom

facebook : http://www.facebook.com/yagomSoft

facebook group : https://www.facebook.com/groups/yagom/


p.s 제 포스팅을 RSS 피드로 받아보실 수 있습니다.

RSS Feed 받기   

'Swift > 기본문법' 카테고리의 다른 글

함수  (2) 2017.05.25
컬렉션 타입  (0) 2017.05.22
상수와 변수  (0) 2017.05.15
이름짓기, 콘솔로그, 문자열 보간법  (0) 2017.05.11
스위프트 시작하기  (0) 2017.05.08