itisjustK
코딩과 사람 사는 이야기
itisjustK
전체 방문자
오늘
어제
  • 분류 전체보기 (207)
    • 일이삼사오육칠팔구십일이삼사오육칠팔구십일이삼사오육칠.. (0)
    • Web (43)
      • html & css (9)
      • django & python (15)
      • java script (9)
    • iOS (51)
      • Swift (42)
      • SwiftUI (5)
    • CS (25)
      • 자료구조 (6)
      • 운영체제 (3)
      • 데이터베이스 (9)
      • 네트워크 (7)
    • PS (34)
      • 알고리즘 & 자료구조 (0)
    • Life (36)
    • Retrospective (15)
    • Book (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • binding
  • CS
  • 킨디
  • 점주
  • nosql
  • 개발자
  • AppleDevloperAcademy
  • 독립서점
  • ios
  • CoreData
  • crud
  • POSTECH
  • 세그멘테이션
  • SwiftUI
  • 생활코딩 #이고잉 #HTML #코딩 #개발자
  • 어플
  • SWIFT
  • 연결리스트
  • mongodb
  • 생활코딩

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
itisjustK

코딩과 사람 사는 이야기

[iOS 프로그래밍을 위한 스위프트 기초] Ch1. 스위프트 기초 - 04. 기본 데이터 타입
iOS/Swift

[iOS 프로그래밍을 위한 스위프트 기초] Ch1. 스위프트 기초 - 04. 기본 데이터 타입

2021. 7. 13. 18:08

Swift의 기본 데이터 타입 7가지 

✒︎Bool

✒︎Int, UInt

✒︎Float, Double

✒︎Character, String

 

*Swift 기본 데이터 타입의 가장 큰 특징 : 데이터 타입 간의 데이터 교환이 불가능하다.

 

 

Bool - true, false

데이터 타입 bool의 값으로 오직 true, false만 할당될 수 있다. 

다른 프로그래밍 언어에서는 1이 true, 0이 false를 의미하기도 하는데, swift에서는 안된다.

 

 

Int, UInt (Unsigned Intenger : 부호가 없는 정수값) - 정수값

Int

intenger 변수의 데이터 타입을 Int (정수형)이라고 선언해주었다. (-4번째 줄)

정수값 100을 할당해주고 (-5번째 줄)

소수값 100.1을 할당해주니 에러가 난다. 왜 Int값에 Double(실수)값을 할당해주려고 하냐?

 

UInt

uint 변수의 데이터 타입을 UInt라고 선언해주고 

10이라는 값을 할당해주었다.

-10이라는 값을 할당해주니 에러가 뜬다. UInt는 부호가 없는 정수값인데 왜 부호가 있는 정수값을 할당해주니?

 

 

 

Float, Double (실수)

Float와 Double의 차이점

Float와 Double 모두 실수값을 의미하지만 그 정밀도에 차이가 있다.

Float에 비해 Double은 더 많은 소수점 자리 숫자를 표기할 수 있다.

 

그리고 데이터 타입을 우리가 선언해주지 않고 값을 지정하면 자동으로 선언되는 데이터 타입은

print한 값을 유추해보아 Double인 것을 알 수 있다.

 

Swift에서는 데이터 타입간의 교환이 안된다는 것의 의미

에러 내용 : 왜 데이터 타입이 Double인 변수에 Float 데이터 타입의 값을 할당하려 하냐? 안돼~ 돌아가~

사실 float나 double이나 서로 담을 수 있다. 근데 Swift에서는 "이 데이터 타입은 이것만! 저 데이터 타입은 저것만!" 식이다. 이만큼 Swift에서는 다른 데이터 타입간의 값의 할당이 굉장히 엄격하다.

 

기본 설정된 데이터 타입?

some에 정수값을 입력해주었다.

그리고 부호가 붙은 값을 넣어도 에러가 안 뜨고, 소수값을 할당해주니 에러가 발생했다.

이를 보아, 정수값을 할당해주면 자동으로 선언되는 데이터 타입은 Int이다.

 

so에 소수점이 붙은 실수값을 입력해주었다.

이후 양의 정수, 음의 정수, 캡쳐에는 안 나왔지만 소수점 아래 숫자가 정밀하게 표현된 것으로 보아

소수점이 붙은 실수값을 할당해주면 자동으로 선언되는 데이터 타입은 Double이다.

 

 

Character, String 

Character : 한 글자

String : 여러 글자

 

Character

Character 타입에는 이모티콘을 포함하여 한 글자만 할당 가능하다. 

두 글자를 할당하니 '왜 Character 데이터 타입에 String 데이터 타입 값을 할당하려 하니?'라며 에러가 뜬다.

 

String

데이터 타입이 String인 경우에는 한 글자도 두 글자도 가능하다!

하지만 9번째 줄을 보자.

분명 값만 보면 someString이나 someCharacter나 값이 동일하다. 왜 에러가 뜨는 걸까?

이유는 이미 선언해준 데이터 타입이 다르기 때문이다. someCharacter는 데이터 타입이 Character이기 때문에 이를 String에 할당하려 하니 에러가 뜨는 것이다.

 

기본 설정된 데이터 타입은 String

자동으로 설정되는 데이터 타입이 무엇인지 알아보자.

만약 some의 데이터 타입이 Character였다면 5번째 줄에서 에러가 떴을 것이다. 두 글자이기 때문이다.

에러가 뜨지 않는 걸로 보아, 기본 데이터 타입은 String이다.

 

 

생각해보기

생각을 해보거라

내 생각

intenger는 Int

floatingPoint는 Double

apple은 String

 

type(of:변수명)

type(of:변수명)을 입력하면 값의 데이터 타입을 확인할 수 있다.

맞았다!

이렇게 확인할 수 있다.

'iOS > Swift' 카테고리의 다른 글

[iOS 프로그래밍을 위한 스위프트 기초] Ch1. 스위프트 기초 - 07. 함수 기본  (0) 2021.07.18
[iOS 프로그래밍을 위한 스위프트 기초] Ch1. 스위프트 기초 - 06. 컬렉션 타입(Array, Dictionary, Set) (💎생각해보기)  (0) 2021.07.15
[iOS 프로그래밍을 위한 스위프트 기초] Ch1. 스위프트 기초 - 05. Any, AnyObject, nil (💎생각해보기)  (0) 2021.07.14
[iOS 프로그래밍을 위한 스위프트 기초] Ch1. 스위프트 기초 - 03.상수와 변수  (0) 2021.07.13
[iOS 프로그래밍을 위한 스위프트 기초] Ch1. 스위프트 기초 - 02. 명명법 / 콘솔로그 / 문자열 보간법  (0) 2021.07.13
    'iOS/Swift' 카테고리의 다른 글
    • [iOS 프로그래밍을 위한 스위프트 기초] Ch1. 스위프트 기초 - 06. 컬렉션 타입(Array, Dictionary, Set) (💎생각해보기)
    • [iOS 프로그래밍을 위한 스위프트 기초] Ch1. 스위프트 기초 - 05. Any, AnyObject, nil (💎생각해보기)
    • [iOS 프로그래밍을 위한 스위프트 기초] Ch1. 스위프트 기초 - 03.상수와 변수
    • [iOS 프로그래밍을 위한 스위프트 기초] Ch1. 스위프트 기초 - 02. 명명법 / 콘솔로그 / 문자열 보간법
    itisjustK
    itisjustK

    티스토리툴바