일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- On branch is up to date with ' '
- AnyObject
- 다짐글
- MyLife
- IOS
- actionSheet
- 연관값
- K디지털기초역량훈련
- unrecognized selector sent to class
- weekly calendar
- 바이트디그리
- 파스칼표기법
- error해결
- Switch
- 주간 달력
- Git
- SWIFT
- avaliable
- 코드스니펫
- class
- 제어전송문
- 회고
- 생명주기
- struct
- 글또9기
- copy-on-write
- 글또
- uikit
- ios 개발 강의
- 내_삶
- Today
- Total
seong_hye, the developer
Swift ) 문법정리 - 데이터 타입 본문
let str = "123"
let number = Int(str) // 123
let str2 = "123.4"
let number2 = Int(str2) // 123 ==> .4 유실됨
컴퓨터는 0과 1, 참과 거짓, 설정됨과 설정되지 않음과 같은 2진수로 행동한다.
인간은 컴퓨터가 아니기에 컴퓨터의 언어인 2진수로 생각하지 않는다.
인간이 0~9로 된 10진수로 행동하는 것과는 차이가 있다.
데이터 타입은 무엇이고 왜 존재할까?
컴퓨터와 우리 사이에는 데이터를 얼마 만큼의 크기, 그리고 어떤 형태로 저장할 것인지에 대한 약속이 필요하다.
데이터 타입은 프로그래밍할 때 우리가 이해할 수 있는 형태로 데이터를 처리할 수 있게 해준다.
즉, 이 약속이 바로 데이터 타입인 것이다.
Swift에서 사용하는 대표적인 데이터 타입들을 정리해볼 것이다.
Int
- 정수 타입
- 양수, 음수, 0으로 이루어진 부호있는 정수 / 양수,0 으로 이루어진 부호없는 정수로 나뉨
var number: Int = 10
Float
- 실수 타입 / 부동 소수점
- 소수점 표현가능 (6자리까지의 정보를 정확하게 저장) / 4바이트
Double
- 실수 타입 / 부동 소수점
- 소수점 표현 가능( 15자리까지의 정보를 정확하게 저장) / 8바이트
- Float 타입의 2배의 공간
var number1: Float = 3.325
var number2: Double = 1.25367
Float와 Double의 차이점은 뭘까?
1. 두 타입은 정밀도에서 차이가 많이 남
2. (지수와 기수를 나눠서) 복잡한 알고리즘으로 저장함
Float와 Double 중 어떤 것을 사용할지는 저장될 값의 크기와
소수점 이하의 값을 얼마나 정확하게 표현해야 하느냐에 따라 결정된다.
Bool
- 참/ 거짓을 처리하는 목적의 데이터 타입
- true,false 값
var myFault: Bool = true
Character
- 하나의 문자
- 반드시 쌍따옴표("") 안에 써야함
String
- 문자열을 저장
- 반드시 쌍따옴표("")안에 써야함
var char: Character = "A"
var str: String = "Hi"
스위프트는 데이터 타입이 안전한 프로그래밍 언어에 속한다.
즉, 변수의 데이터 타입이 한번 정해지면
그 변수는 다른 타입의 데이터를 저장하는데 사용될 수 없으며 컴파일 에러가 발생한다.
이런 스위프트의 타입과 관련된 기본 문법을 정리해볼 것이다.
타입 주석 / 타입 선언 (Type Annotation)
변수를 선언하면서, 타입도 명확하게 지정하는 방식
변수나 상수 이름 뒤에 콜론(:)을 사용하고 타입을 선언하는 것
선언을 먼저하고 나중에 값을 초기화하는 것도 가능하다.
var name: String = "seong_hye"
var number: Int // 1) 변수 선언(타입 선언)
number = 10 // 2) 값을 저장(초기화)
타입 추론 (Type Inference)
타입을 명시하지 않고 컴파일러가 타입을 추론하도록 하는 방식
변수 또는 상수가 초기화되는 시점에 할당된 값의 타입이 무엇인지를 판단하여 해당 타입으로 지정함
var name = "seong_hye"
var number = 4
타입 안정성 (Type Safety)
위에서 말했듯 스위프트는 데이터 타입을 명확하게 구분하여 사용하는 언어이기에
다른 타입끼리는 계산할 수 없음
var number1: Int = 5
var number2: Double = 2.2
var number3 = number1 + number2 (X)
타입 변한(Conversion)
새로운 변수 공간을 선언하여 타입을 변환해서 사용하는 방법
데이터가 변환이 되지 않거나(nil) 데이터가 유실 될 수 있다는 점을 주의해서 사용해야 함
let str = "123"
let number = Int(str) // 123
let str2 = "123.4"
let number2 = Int(str2) // 123 ==> .4 유실됨
참고자료)
'IOS' 카테고리의 다른 글
Swift) 문법 정리 - 반복문 (0) | 2022.07.12 |
---|---|
Swift) 문법 정리 - 조건문 (0) | 2022.07.12 |
Swift) 문법 정리 - 컬렉션 타입 (Collection) (0) | 2022.07.12 |
Swift) 문법 정리 - 함수 (0) | 2022.07.12 |
Swift) 문법 정리 - 변수와 상수 (0) | 2022.07.12 |