ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 데이터 타입 (기본)
    Swift 2020. 10. 30. 10:11

    안녕하세요. 그린입니다!

    이번에는 스위프에서 기본으로 제공하는 데이터 타입 흔히들 자료형이라고 하는것에 대해 알아보겠습니다.

    스위프트의 모든 데이터 타입 이름은 첫글자가 대문자로 시작하는 대문자 카멜케이스를 사용합니다.

    스위프트 프로그래밍을 함에 있어 기초가 되는 중요한 부분으로 놓치는 부분이 없는지 살펴보도록 하겠습니다^^

    1. Int / UInt

     1) Int : +, - 부호를 포함한 정수

     2) UInt : - 부호를 포함하지 않고 0을 포함한 양의 정수

    각 타입의 최대/최소값은 max,min 프로퍼티로 알아 볼 수 있습니다.

     

    [진수에 따른 정수 표현 방법]

    -. 10진수 : 우리가 평소에 쓰던 숫자와 동일하게 작성

    -. 2진수 : 접두어 0b

    -. 8진수 : 접두어 0o

    -. 16진수 : 접두어 0x

    진수 표현

    2. Bool

    불리언 타입이라 불리며 참(true)와 거짓(false)의 값만 가집니다.

    불리언 타입의 반전을 주려면 toggle() 메서드를 사용합니다.

    boolean

    3. Float / Double

    부동소수점을 사용하는 실수이며 부동소수 타입이라고 합니다.

    정수 타입보다 훨씬 넓은 범위의 수를 표현할 수 있습니다.

    Float : 32비트의 부동소수 표현

    Double : 64비트의 부동소수 표현

    *Float 타입은 자신이 감당할 수 있는 만큼만 남기므로 정확도가 Double에 비해 떨어집니다.

    Float와 Double

    ***스위프트 4.2 버전부터 임의의 수를 만드는 random(in:) 메서드가 추가되었습니다. (정수/실수 모두 가능)

    random(in:) 메서드

    4. Character

    말 그대로 '문자'를 의미합니다.

    영어/유니코드에서 지원하는 모든 언어 및 특수기호 등을 사용할 수 있습니다.

    문자 표현을 위해 값의 앞에 큰따옴표(" ")를 사용합니다.

    Character

    5. String

    문자열을 의미합니다.

    Character와 마찬가지로 값의 앞뒤에 큰따옴표(" ")를 사용합니다.

    String

    다양한 표현을 위해 아래와 같이 +를 통해 변수와 문자열을 이어줄 수 있습니다.

    Stirng의 다양한 표현

    6. 특수문자

    스위프트에는 문자열 내에서 일정 기능을 하는 특수문자(제어문자)가 존재합니다.

    특수문자는 모두 백슬래시(\)에 특정 문자를 조합하여 사용합니다.

    -. \n : 줄바꿈 문자

    -. \\ : 문자열 내에서 백슬래시 표현

    -. \" : 문자열 내에서 큰따움표 표현

    -. \t : 탭기능 = 키보드의 탭키를 눌렀을때와 동일 효과

    -. \0 : null 문자

    7. Any / AnyObject / nil

    Any는 모든 데이터 타입을 사용할 수 있다는 뜻

    AnyObject는 Any보다 조금 더 한정된 의미로 클래스의 인스턴스만 할당할 수 있습니다.

    두 타입 모두 가능하면 사용하지 않는 편이 좋습니다. 타입에 엄격한 스위프트 특성상 해당 타입으로 선언된

    변수값을 가져다 쓰려면 매번 타입 확인 및 변환이 필요해 불편함과 오류의 위험을 증가시킵니다.

    nil은 '없음'을 표현합니다.

    추가로, 특정 함수의 반환 타입으로 사용되는 Never 타입이 있습니다.

     

     

    이상으로 데이터 타입의 기본적인 부분을 알아보았습니다.

    다음 포스팅에서는 더 나아가 데이터 타입의 발전된 부분인 컬렉션형(배열/딕셔너리/세트)과 열거형 등에 대해 심층적으로 

    알아보겠습니다.

    이번 포스팅은 설명이 길어 오탈자나 누락된 부분이 있을 수 있습니다.

    댓글로 알려주시면 수정하도록 하겠습니다!

    감사합니다 :D

     

     

    'Swift' 카테고리의 다른 글

    흐름제어  (0) 2020.11.01
    연산자  (0) 2020.11.01
    데이터 타입 (고급)  (0) 2020.10.30
    스위프트 프로그래밍 규칙  (0) 2020.10.29
    스위프트 기초  (0) 2020.10.29
Designed by Tistory.