오늘은 데이터 타입에 대하여 알아보자.

데이터 타입(Data Type)이란 무엇일까?

 

데이터 타입 (Data Type)

데이터 타입은 쉽게 생각하면 너무 쉬운 명칭이다.

말 그대로 데이터의 타입. 즉 값의 형태를 의미한다.

 

이렇게 말해서는 잘 이해가 안갈수 있기 때문에 예시를 먼저 보여주겠다

 

'A' -> 우리는 이것을 '문자' 라고 표현한다
"ABCDEF" -> 우리는 이것을 '문자열' 이라고 표현한다
9 -> 우리는 이것을 정수 라고 표현한다
3.14 -> 우리는 이것을 소수 라고 표현한다

이렇게 어떠한 값의 형태를 우리는 Data Type이라고 부른다.

 

그렇다면 그냥 문자면 문자, 숫자면 숫자로 사용하면 되는걸 왜 이 사단을 부리는걸까?

 

데이터 타입을 깊게 파면 한도 끝도 없으니 간단하게 설명해보자

숫자 10과 문자열 "10"은 다르다. 누가봐도 둘다 10이지만

숫자 10은 프로그램 안에서 덧셈, 곱셈등 연산이 가능하다.

그렇다면 문자열 "10"은 어떨까?

이것은 숫자가 아닌 "10" 이라는 문자를 표현한 것이기 때문에 연산이 안된다.

 

Swift는 다른 언어에 비해 타입에 대해 엄격한 편이다.

꼭 타입을 열심히 공부해서 에러가 나지 않는 코드를 짜보자

 


데이터 타입의 종류

  • Bool (Boolean의 약자)
  • 참과 거짓을 표현
var trueType : Bool = true // true 값을 가진 Bool Type
var falseType : Bool = false // false 값을 가진 Bool Type

 

  • Int (Integer의 약자)
  • 64bit
  • 정수를 표현
var someInt : Int = 100 // 100의 값을 가진 Int Type 양의 정수
var someInt2 : Int = -999 // -999의 값을 가진 Int Type 음의 정수
// 3.14 처럼 소수는 사용 x

 

  • UInt (UnSigned Integer의 약자)
  • 부호가 없는 정수 (양의 정수만 표현)
var someUInt : UInt = 100 // 100의 값을 가진 UInt Type의 양의 정수
// -100 처럼 음수는 사용 x

 

  • Float
  • 32bit
  • 부동 소수
var someFloat : Float = 3.14
var someFloat2 : Float = 3 // 소수는 정수에 포함되어있기 때문에 사용 가능

 

  • Double
  • 64bit
  • 부동 소수
var someDouble : Double = 3.14
var someDouble : Double = 3 // 정수라도 가능
//하지만 Double = Float은 안된다.

 

  • Character
  • UNICODE를 표현한 '문자'
var someCharacter : Character = "A"
var someCharacter2 : Character = "가"
var someCharacter3 : Character = "1"
// "하하하" -> 한 문자가 아니기 때문에 안됨

 

  • String
  • 문자가 이어진 "문자열"
var someString : String = "가" // 문자열은 문자를 포함하고 있기 때문에 가능
var someString2 : String = "하하하"
var someString3 : String = "웃으면 복이와요."

print(someString2 + someString3) // 문자열을 연산으로 합칠수 있다
// 하하하 웃으면 복이와요.

// String = Character 는 안됨

 

이 Decimal이라던가 여러가지 타입이 존재하나 가장 많이 사용하는 타입 4가지

Bool / String / Int / Double

이 4가지라도 확실히 기억하고 가는것이 좋다.

 

굳이 지금 억지로 외우지 않아도

변수나 상수를 선언할때 꼭 사용하게 되므로

자연스럽게 익혀나가는것이 좋을것 같다.

728x90

'개발 > Swift 문법' 카테고리의 다른 글

[Swift문법]01. Swift 시작하기 / 상수와 변수  (0) 2022.07.06

+ Recent posts