반응형


 변수와 상수는 데이터 타입공부와 직결되기 때문에 포스팅은 따로하지만 같이 봐야하는 내용이다.




2018/10/21 - [IT 정보 로그캣/Swift] - [Swift 공부] 변수와 상수




 대부분의 프로그래밍 언어를 처음에 공부할 때 변수와 상수 그리고 해당 프로그래밍 언어에서 지원하는 데이터 타입을 

함께 공부한다. 데이터 타입은 자료형 이라고도 부르며 말 그대로 자신이 표현하려고 하는 데이터의 타입이 무엇인지를 

나타내는 것이다. 




데이터 타입(자료형) 이란?


 데이터 타입(자료형) 이란 변수나 상수에 담을 수 있는 값의 종류라고 보면된다. 변수와 상수의 정의를 메모리 상에 값을 저장할 수 있는 공간이라고 했는데, 이 공간에 들어갈 수 있는 값에는 각각 종류가 존재하다. 

예를들어 여자 화장실에는 여자만 들어가고 남자 화장실에는 남자만 들어가듯 변수와 상수 공간에 들어 가는 값들도 

남,녀 성별 처럼 구분이 있는 것이다.




Swift의 데이터 타입의 종류


 Swift 에서 기본으로 제공하는 데이터 타입으로는 Int , UInt, Float, Double, Bool, Character, String 등과 

Any, AnyObject 등이 있다. Swift 에서 모든 데이터 타입의 이름은  첫 글자를 대문자로 입력한다. 

Swift 의 데이터 타입들은 모두 Struct (구조체)를 기반으로 구현되어 있다. 

쉽게 설명하자면 우리가 숫자를 표현하고 싶을 때 Int 라고 입력해서 바로 사용할 수 있도록 

Swift에 미리 구조체 라는 것으로 만들어져 있다는 의미이다. 

(애플 공식 개발문서인 https://developer.apple.com/documentation/swift/int 에 들어가면 확인할 수 있다.)


사용법은 [var 변수명 : 데이터타입 ] 에서 데이터타입 부분에 자신이 원하는 데이터 타입을 넣어주면 된다.




Integer 타입


 Swift 에서 Integer(정수) 는 Int 와 UInt 로 나누어 진다. Int는 양수 (+) , 음수(-), 0 을 표현하는 정수이다.

UInt 는 Unsigned Integer 의 약자로 말 그대로 부호가 없는 양의 정수(+)와 0 을 표현하는 정수이다.

사용법은 아래 <그림1> 과 같고, UInt 에다가 음의 정수 값을 넣으면 컴파일에러가 발생한다.



그림1 > Swift 의 Integer 타입 사용법




 Swift는 특이하게 사용하는 플랫폼이 지원하는 비트에 따라 Int 와 UInt 의 타입이 달라 지는데 지원하는 비트는

각각 8비트, 16비트, 32비트, 64비트로 사용법 또한 Int8, Int16, Int32, Int64 , UInt8, UInt16, UInt32, UInt64로

나뉘어 진다. 비트에 따라 무슨 차이점이 있냐고 하면 각 비트 별로 표현 가능한 정수 자릿수의 크기가 다르다. 

Int와 UInt의 경우 구조체 안에 ~.min 과 ~.max 가 구현되어 있어서 최소, 최대 표현 가능한 정수 범위를 알 수 있다.




그림2> 비트에 따른 Int 정수 표현 범위




그림3> 비트에 따른 UInt 정수 표현 범위



특별한 경우가 아니고, 그냥 잘 모르겠다면 Int 로 선언해서 사용하면 된다. :)


 


Floating-Point Numbers (부동 소수점 숫자) 타입


 Swift에서는 부동소수점을 사용하는 실수를 표현하기 위해 Float 과 Double 타입을 사용한다. 

쉽게 설명하면 우리가 흔히 말하는 소수점 자리를 표현하기 위한 타입이라고 생각하면 된다. 

Float 과 Double의 차이점은 Float은 32비트 부동 소수점 숫자를 나타내고, Double은 64비트 부동 소수점 숫자를 

나타내는데 Integer 에서 처럼 결국은 숫자를 표현하는 범위가 다르다고 볼 수 있다. 

즉, Float 은 소수점 이하 6자리 까지 표현이 가능하고 double은 소수점 이하 15차이 까지 표현이 가능한 정밀도를 가지고 있다는 것이다. 

  



그림 4 > 원주율(Pi) 값을 넣어보면 설명대로 Float 은 소수점 6자리 까지 Double 은  소수점 15자리 까지 표현이 가능하다.




Bool 타입

 

 Bool 타입은 불리언(Boolean) 으로 불리며 참(true) or 거짓(false) 만을 값으로 가지는 타입이다. 

그래서 논리 자료형 이라고도 불린다. 주로 참(true) 값은 1, 거짓(false) 값은 0 이라고 대응시키는 프로그래밍 언어가 

많은데 Swift 에서는 true , false 대신에 숫자값 1, 0 을 넣어서 사용할 수 없다.



그림 5 > Bool 타입 사용법 (조건문의 조건에 다른 프로그래밍 언어처럼 1 의 값을 넣어서 사용할 수 없다.)


  


Character 타입 


 Character 타입은 하나의 문자를 표현하는 타입이다. Swift 에서는 유니코드 9 문자를 사용하기 때문에 유니코드에서 지원하는 모든 언어와 특수기호까지 사용이 가능하다. 보통은 하나의 문자 보다는 문자열을 사용하는 경우가 많기 때문에 

Character 는 참고정도만 하면 되겠다.



그림 6 > Character 타입 사용법 (이모티콘까지 사용이 가능하다!)




String 타입 

 

 String 타입은 문자열을 표현할 때 사용하는 타입이다. String 은 ( " ) 로 묶인 Character 의 모음 이라고 할 수 있다. 

String 에는  다양한 기능들이 존재한다. ( + ) 연산자를 통해 문자열을 이어 붙일 수도 있고, 다양한 메소드들을 사용할 수도 있다. 필요한 기능들은 그때그때 찾아서 사용하면 되고, String 을 사용하면서 제일 중요한 부분인 문자열 비교는 Swift 에서는 ( == ) 을 통해 이루어진다는 것만 기억하면 되겠다.



그림 7 > ( + ) 연산자를 사용한 String 이어 붙이기와 문자열 비교 





특수문자


  Swift 에서 문자열 내에 사용할 수 있는 특수문자들은 모두 역슬래시와 문자를 조합하여 사용한다.


1. 문자열이 끝났을 때 사용하는 null 문자 :  \0

2. 역슬래시 : \\

3. 가로 탭 : \t

4. 줄바꿈 : \n

5. 큰 따옴표  : \"

6. 작은 따옴표 \' 












* 해당 포스팅은 스위프트(Swift)4  버전을 기준으로 하고 있습니다.

* 참고 : https://swift.org/ 



반응형

+ Recent posts