💡 명명법

  • Swift 는 대소문자를 구분!

1. Lower Camel Case

function, method, variable, constant

ex) someVariavleName

2. Upper Camel Case

type(class, struct, enum, extension, …)

ex) Person, Point, Week


💡 콘솔로그

1. print

단순 문자열 출력

2. dump

인스턴스의 자세한 설명 (description 프로퍼티) 까지 출력



💡 문자열 보간법 (String interpolation)


  • 프로그램 실행 중 문자열 내에 변수 또는 상수의 실질적인 값을 표현하기 위해 사용
  • () -> 문자열로 자동 치환

// 콘솔로그와 문자열 보간법 (print 사용)

import Swift

let age: Int = 20

print("안녕하세요! 저는 \(age)살 입니다:)")
print("안녕하세요! 저는 \(age+4)살 입니다:)")

// 콘솔로그와 문자열 보간법 (dump 사용)

class Person {
    var name: String = "gyu ri"
    var age: Int = 20
}

let orange: Person = Person()

print("(1) use print : ", orange)
print("\n")
print("(2) use dump : ")
dump(orange)


💡 상수와 변수

  • 띄워쓰기 중요!
  • 값의 type이 명확하다면 type 생략 가능

1. 상수 선언

상수 선언 키워드 : let
let 이름: 타입 = 값


2. 변수 선언

변수 선언 키워드 : var
var 이름: 타입 = 값



💡 데이터 타입

  • Swift는 다른 데이터 타입 간의 변경이 매우 까다롭기 때문에 반드시 명확한 데이터 타입을 설정해주어야 한다.

1. Bool (true or false)


var someBool: Bool = true
print(someBool)
someBool = false

2. Int (정수형) : 양의 정수, 음의 정수, 0 모두 가능


var someInt: Int = -100
print(someInt)
someInt = 100
print(someInt)
someInt = 0
print(someInt)

3. UInt (양의 정수)


var someUInt: UInt = 100
print(someUInt)

4. Float (32비트 부동 소수형)


var someFloat: Float = 3.14
print(someFloat)


5. Double (64비트 부동 소수형)


var someDouble: Double = 3.14
print(someDouble)

  • someFloat라는 변수와 someDouble이라는 변수에 3.14 라는 같은 값을 할당해주었지만 someDouble과 someFloat은 애초에 다른 데이터 타입으로 선언되어있으므로 Float 자료형인 someFloat를 Double 자료형인 someDouble에 할당할 수 없다.

🚫 에러 코드 🚫

someDouble = someFloat


6. Character (문자 1개)


  • 영어, 한글, 이모지 모두 가능

var someCharacter1: Character = "🌍"
print(someCharacter1)

var someCharacter2: Character = "가"
print(someCharacter2)

var someCharacter3: Character = "S"
print(someCharacter3)


7. String (문자열)


var someString: String = "하하하 🌝"
someString += "웃으면 복이 와요"
print(someString)

  • 위의 결과와 마찬가지로 String은 Character을 포함하고 있지만, String으로 할당된 변수에 Character 값을 할당할 수 없다.


💡 Any / AnyObject / nil


1. Any : 모든 타입을 지칭하는 키워드


import Swift

var someAny: Any = 100
print(someAny)
someAny = "어떤 타입도 수용 가능합니다"
print(someAny)
someAny = 123.12
print(someAny)

  • 다른 타입으로 할당된 변수에는 any 타입 할당 불가


2. AnyObject : 모든 클래스 타입을 지칭하는 프로토콜


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

  • 클래스의 인스턴스에만 선언 가능


3. nil : 없음을 의미한느 키워드


  • null과 거의 같은 의미로 쓰인다.

  • Any타입과 AnyObject 타입으로 선언된 변수에는 어떤 데이터 타입도 들어올 수 있지만,

빈 값은 들어올 수 없다.