오늘은 데이터 타입에 대하여 알아보자.

데이터 타입(Data Type)이란 무엇일까?

 

데이터 타입 (Data Type)

데이터 타입은 쉽게 생각하면 너무 쉬운 명칭이다.

말 그대로 데이터의 타입. 즉 값의 형태를 의미한다.

 

이렇게 말해서는 잘 이해가 안갈수 있기 때문에 예시를 먼저 보여주겠다

 

'A' -> 우리는 이것을 '문자' 라고 표현한다
"ABCDEF" -> 우리는 이것을 '문자열' 이라고 표현한다
9 -> 우리는 이것을 정수 라고 표현한다
3.14 -> 우리는 이것을 소수 라고 표현한다

이렇게 어떠한 값의 형태를 우리는 Data Type이라고 부른다.

 

그렇다면 그냥 문자면 문자, 숫자면 숫자로 사용하면 되는걸 왜 이 사단을 부리는걸까?

 

데이터 타입을 깊게 파면 한도 끝도 없으니 간단하게 설명해보자

숫자 10과 문자열 "10"은 다르다. 누가봐도 둘다 10이지만

숫자 10은 프로그램 안에서 덧셈, 곱셈등 연산이 가능하다.

그렇다면 문자열 "10"은 어떨까?

이것은 숫자가 아닌 "10" 이라는 문자를 표현한 것이기 때문에 연산이 안된다.

 

Swift는 다른 언어에 비해 타입에 대해 엄격한 편이다.

꼭 타입을 열심히 공부해서 에러가 나지 않는 코드를 짜보자

 


데이터 타입의 종류

  • Bool (Boolean의 약자)
  • 참과 거짓을 표현
var trueType : Bool = true // true 값을 가진 Bool Type
var falseType : Bool = false // false 값을 가진 Bool Type

 

  • Int (Integer의 약자)
  • 64bit
  • 정수를 표현
var someInt : Int = 100 // 100의 값을 가진 Int Type 양의 정수
var someInt2 : Int = -999 // -999의 값을 가진 Int Type 음의 정수
// 3.14 처럼 소수는 사용 x

 

  • UInt (UnSigned Integer의 약자)
  • 부호가 없는 정수 (양의 정수만 표현)
var someUInt : UInt = 100 // 100의 값을 가진 UInt Type의 양의 정수
// -100 처럼 음수는 사용 x

 

  • Float
  • 32bit
  • 부동 소수
var someFloat : Float = 3.14
var someFloat2 : Float = 3 // 소수는 정수에 포함되어있기 때문에 사용 가능

 

  • Double
  • 64bit
  • 부동 소수
var someDouble : Double = 3.14
var someDouble : Double = 3 // 정수라도 가능
//하지만 Double = Float은 안된다.

 

  • Character
  • UNICODE를 표현한 '문자'
var someCharacter : Character = "A"
var someCharacter2 : Character = "가"
var someCharacter3 : Character = "1"
// "하하하" -> 한 문자가 아니기 때문에 안됨

 

  • String
  • 문자가 이어진 "문자열"
var someString : String = "가" // 문자열은 문자를 포함하고 있기 때문에 가능
var someString2 : String = "하하하"
var someString3 : String = "웃으면 복이와요."

print(someString2 + someString3) // 문자열을 연산으로 합칠수 있다
// 하하하 웃으면 복이와요.

// String = Character 는 안됨

 

이 Decimal이라던가 여러가지 타입이 존재하나 가장 많이 사용하는 타입 4가지

Bool / String / Int / Double

이 4가지라도 확실히 기억하고 가는것이 좋다.

 

굳이 지금 억지로 외우지 않아도

변수나 상수를 선언할때 꼭 사용하게 되므로

자연스럽게 익혀나가는것이 좋을것 같다.

728x90

'개발 > Swift 문법' 카테고리의 다른 글

[Swift문법]01. Swift 시작하기 / 상수와 변수  (0) 2022.07.06

 

Swift 공부를 시작하며

29살이라는 늦은 나이에 Java 웹개발로 개발을 시작하여

현재는 C#기반 응용프로그램 및 ASP 웹개발자가 되었다.

평소에 관심을 가지지 못했던 App에 도전하며 매일 공부하는 것을 기록해 나가려 한다.

혹여나 이 글을 보는 사람들에게 도움이 되길 바라며 :)

 


Swift를 공부하기 위해서 M1 Pro를 구매하였다.

아무래도 IOS는 Window에서는 개발하기 제한이 많다보니 (Flutter등 다른 방안은 있다)

IOS Native App에 관심도 생긴김에 큰마음 먹고 구매 하였다.

 

우선 Xcode를 설치해보자.

 

Xcode 설치하기

https://apps.apple.com/kr/app/xcode/id497799835?mt=12 

다음 링크에서 Xcode를 설치할 수 있다.

AppStore에서도 Xcode를 검색하면 쉽게 찾을수 있으니 다운로드 받아 설치하자

 

 

PlayGround 실행하기

현재는 문법 공부를 위해 UIkit이나 SwiftUI에 손을 대지않으려 하기 때문에

대부분의 문법 공부는 PlayGround를 활용할 것이다.

PlayGround는 말그대로 간단한 코드를 작성 및 실행해 볼 수 있는 환경을 말한다.

우선 Xcode를 실행해보자

Xcode 최초 실행 화면

해당 화면이 잘 나타났다면 다음 순서를 따라가보자

아무것도 건들지 않은 상태에서 상단 메뉴중

File -> New -> Playground 클릭

Blank 선택 후 Next 버튼 클릭

 

저장할 파일명과 경로 설정후 Create 버튼 클릭

Tag는 굳이 적어주지 않아도 괜찮다.

 

Playgorund 초기 생성 화면

이렇게 Playground 환경을 만들어 보았다.

이제부터는 캡처 화면이 아닌 코드를 통해서 기록해 나갈 예정이다.

 


변수와 상수

3년전 프로그래밍을 시작할때 내가 무서워 했던 단어이며,

이미 다른 프로그래밍 언어를 경험해본 개발자들이라면 익숙한 단어이다.

변수(Variable)란 값이 변할수 있는 메모리 공간이다
상수(Constant)란 값이 변할수 없는 메모리 공간이다

이렇게만 보면 감이 잘 오지 않을수도 있다.

다음의 코드를 보자.

var myAge : Int = 31
let myName : String = "은다민"

어려워 할 필요 없다.

하나하나 살펴보자

var myAge : Int = 31

// var -> 변수임을 선언
// myAge -> 변수의 이름
// Int -> 변수의 타입
// 31 -> 변수의 값

let myName : String = "은다민"

// let -> 상수임을 선언
// myName -> 상수의 이름
// String -> 상수의 타입
// "은다민" -> 상수의 값

자신의 나이와 이름을 생각해보자.

내 나이는 매년 한살씩 증가한다. 올해 myAge 안에는 31이 담겨있지만
내년에 myAge는 32가 담겨있어야 한다. myAge의 값은 계속 변하기 때문에 변수인 var를 선언해 주었다.
내 이름은 은다민으로 몇년이 지나던 내 이름은 계속 그대로이다. (개명은 하지않는다는 가정)
myName에는 "은다민"이 담겨져있고, 이는 평생 변하지 않기 때문에 상수인 let을 선언해 주었다.

 

실전 테스트

그럼 변수와 상수에 값이 정말 변하는지, 변하지 않는지 테스트 해보자.

var myAge : Int = 31 //변수 myAge를 생성하고 31의 값을 넣어준다
let myName : String = "은다민" //상수 myName을 생성하고 "은다민"이라는 값을 넣어준다

print("myAge : \(myAge)") //myAge안에 어떤값이 들어있는지 출력해보기
print("myName : \(myName)") //myName안에 어떤값이 들어있는지 출력해보기

myAge = 32 //32라는 값을 myAge에 넣어준다.
myName = "바보" //"바보"라는 값을 myName에 넣어준다. -> 여기서 Error가 날것이다.
// myAge와 myName은 이미 생성된 변수,상수라서 다시 선언해줄 필요없이 변수,상수를 사용할수있다.

print("myAge : \(myAge)")
print("myName : \(myName)")

 

실제 테스트 화면을 참고해보자

실행은 좌측 하단쯤 재생버튼 처럼 생긴 아이콘을 눌러주면 된다.

정말 친절하게도 myName은 let을 선언한 상수라서 값을 변경할수 없다고 Error Message가 나온다.

그럼 변할수 없는 상수 myName = "바보" 만 지워주고 다시 실행을 해보자.

 

 

화면 하단 출력창에 우리가 원하는대로 값이 출력되었다.

이것으로 변수와 상수에 대한 공부를 마친다 :)

728x90

+ Recent posts