Swift와 데이터 타입(Data Type)(1)

Youngseok-O·2023년 6월 8일
0

Swift

목록 보기
1/2

컴퓨터와 데이터

컴퓨터는 '이진 연산'만 수행할 수 있다.
=> 0과 1로만 데이터 저장 및 연산이 가능하다.

컴퓨터 메모리 저장장치에도 0과 1로만 데이터를 저장하는데, 그래서 메모리 공간을 차지하는 내용들의 타입에 따라 미리 필요한 크기만큼 자리를 잡아주기 위해 그리고 사람이 이해할 수 있는 형태의 데이터로 생각하고 프로그래밍하기 위해 '데이터 타입'이 필요하다.

데이터의 크기

Bit, Byte, Kilobyte, Megabyte, Gigabyte ... 등
데이터의 크기를 표현할 수 있는 다양한 데이터 단위들이 있다.
여기서 Bit는 컴퓨터에 저장되는 정보(데이터)의 최소 단위이고, 위에서 언급한 '이진 연산'이 Bit로 수행하는 연산인 '비트 연산'과 동일한 개념이다.

데이터 타입의 종류

데이터 타입으로는 정수형, 실수형, 문자, 불리언(Boolean) 등이 있다.

정수형

소수점이 없는 값을 저장할 수 있는 데이터 타입이다.
컴퓨터에서 정수형 데이터 타입으로는 'Byte, Short, Int, Long'이 있지만,
Swift에서는 Int형만 사용하고 있다. Apple에서 일반적으로 Int 타입만 사용하기를 권장하기 때문이다.

  • 시스템 아키텍처에 따라 Int8 ~ Int64로 자동 적용

Swift의 정수형 데이터 타입
Swift는 8비트, 16비트, 32비트, 64비트 정수형 데이터 타입을 지원한다.

  • 부호 있는 정수(signed) : 양수, 음수, 0 값을 저장
    Int8, Int16, Int32, Int64
  • 부호 없는 정수(unsigned) : 정수, 양수, 0만 저장
    UInt8, UInt16, UInt32, UInt64

모든 정수형 데이터 타입들은 해당 데이터 타입이 지원하는 최댓값과 최소값을 알 수 있도록 범위 속성을 지닌다.

실수형 (부동소수점)

소수점이 있는 값을 저장할 수 있는 데이터 타입이다.
컴퓨터에서 실수형 데이터 타입으로는 'Double, Float'가 있는데,
Swift에서도 동일한 데이터 타입을 지원한다.

Swift의 실수형 데이터 타입
Swift는 최대 32비트, 최대 64비트의 부동소수점 데이터 타입을 제공한다.

  • Double : 최대 64비트의 부동소수점 수를 저장
  • Float : 최대 32비트의 부동소수점 수를 저장

불리언 (Boolean)

참/거짓을 처리하는 목적의 데이터 타입이다.
다른 언어에서 참/거짓을 0과 1로 저장하는 경우도 있지만, Swift에서는 참/거짓을 true/false로 저장한다.

Swift의 불리언 데이터 타입

  • Bool : true (참) / false (거짓)

문자

문자, 숫자, 문장 부호, 기호와 같은 '하나'의 문자를 저장하는 데이터 타입이다.
Swift에서 문자는 내부적으로 그래핌 클러스터(grapheme cluster)의 형태로 저장된다.

  • 눈에 보이는 하나의 문자를 표현하기 위해 결합된 둘 이상의
    유니코드 스칼라로 구성

Swift의 문자 데이터 타입
큰따옴표("")를 사용해 데이터를 저장할 수 있다.

  • "가", "A" ... 등

문자열

문자 데이터 타입이 하나의 문자를 저장하는 데이터 타입이라면, 문자열 데이터 타입은 여러 개의 문자를 저장할 수 있는 데이터 타입이다.
즉, 단어나 문장을 구성하는 일련의 문자들을 저장할 수 있다.

  • 문자열 데이터 타입은 저장 뿐 아니라 문자열 검색, 매칭, 연결, 수정 등의 편집 기능 또한 가지고 있다.

Swift의 문자열 데이터 타입
Swift에서 문자열은 내부적으로 문자들의 집합으로 표시되는데, 이 때 문자는 여전히 유니코드 스칼라 값이다.
문자와 동일하게 큰따옴표("")를 사용해 데이터를 저장한다.

  • "안녕하세요.", "저는 문자열입니다."

[ 문자열 보간 ]
변수, 상수, 표현식, 함수 호출을 조합하여 문자열을 구성하는 방법

[ 여러 줄의 문자열 ]
삼중 큰따옴표(""" """) 안에 넣어서 선언 가능하다.

특수 문자/이스케이프 시퀀스(Escape Sequence)

이스케이프 시퀀스(Escape Sequence)는 개행, 탭 또는 문자열 내에 특정 유니코드 값을 지정하는 특수 문자이다.
역슬래시 문자(\)를 앞에 써서 구별하는 것을 이스케이핑(Escaping)이라고 한다.

  • 기본적으로 역슬래시(\)가 앞에 붙은 문자는 특수문자로 간주된다.

Swift의 특수문자

  • " \n " : 개행 (줄바꿈)
  • " \r " : 캐리지 리턴
  • " \t " : 탭
  • " \\ " : 역슬래시
  • " \" " : 큰따옴표(문자열 선언부 내에서 큰따옴표 사용할 때)
  • " \' " : 작은따옴표(문자열 선언부 내에서 작은따옴표 사용할 때)
  • " \u{nn} " : 1 Byte의 유니코드 스칼라
    nn은 유니코드 문자를 표현하는 2개의 16진수
  • " \u{nnnn} " : 2 Byte의 유니코드 스칼라
    nnnn은 유니코드 문자를 표현하는 4개의 16진수
profile
Computer Engineering, Swift, iOS Developer

0개의 댓글