[Swift 기본 문법] 데이터 타입

dora·2024년 3월 10일

Swift 기본 문법

목록 보기
1/12

변수명 표기

기본적으로 camelCase표기법을 사용한다.

Lower Camel Casefunction, method, variable, constantex) someVariableName
Upper Camel Casetype(class, struct, enum,extension)ex) Person, Point, Week

상수와 변수

swift는 함수형 프로그래밍을 지향하므로, 불변의 객체를 중요시 여겨 상수 표현이 많다.

let constant : String = "변경 불가한 상수 let"
var variable : String = "변경 가능한 var"

variable = "변수에는 다른 값을 할당할 수 있지만"
//constant = "상수에는 다른 값을 할당할 수 없다"

상수를 초기화하지 않았을 때 한 번 값을 할당하는 것이 가능하다.

let sum : Int
let inputA : Int = 20
let inputB : Int = 30

sum = inputA + inputB

자료형(Data type)

기본 데이터 타입(7)

Bool, Int, UInt(Unsigned Int), Float, Double, Character, String

var someBool : Bool = true
var someInt : Int = -100
var someUInt : UInt = 100
var someFloat : Float = 3.14
var someDouble : Double = 3.14
var someCharacter : Character = "🐥"
var someString : String = "안녕하세요"

다른 언어들과 달리 자동 형변환이 거의 일어나지 않으며 자료형이 엄격하게 구분된다.

someBool = 0 // bool형에 int형 대입 불가
someUInt = someInt // UInt형에 int형 대입 불가
someDouble = someFloat // Double형에 float형 대입 불가
someString = someCharacter //String형에 Character형 대입 불가 
//...

String형 간의 연산 가능

var someString : String = "농심"
someString = someString + "신라면"

그외 데이터 타입

  • Any : 모든 타입을 지칭하는 키워드
  • AnyObject : 모든 클래스 타입을 지칭하는 프로토콜
  • nil : 없음 (null)

Any형

var someAny : Any = 100
someAny = "어떤 타입도 수용 가능"
someAny = 3.14

하지만 Any형을 다른 자료형에 대입할 수는 없다

let someDouble : Double = someAny // Double형에 Any형 넣기 불가

AnyObject형

class SomeClass{}
var someAnyObject : AnyObject = SomeClass()

클래스의 인스턴스가 아닌 다른 자료형을 대입할 수 없다

someAnyObject = 123.12

nil형

Any형에 어떤 것도 들어올 수 있다고 했지만 nil은 넣을 수 없다.

someAny = nil	//불가
someAnyObject = nil	//불가

0개의 댓글