[Swift] 변수와 상수, 기본 데이터 타입, Any&AnyObject, nil

짱J·2022년 8월 24일
0

Swift

목록 보기
2/3
post-thumbnail

변수와 상수

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

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

  • 값의 타입이 명확하다면 타입은 생략 가능하다
    ex) let 이름 = 값
let constant: String = "차후에 변경이 불가능한 상수"
var variable: String = "차후에 변경이 가능한 변수"

variable = "차후에 다른 값 할당 가능"
constant = "차후에 값 변경 불가능" // 오류 발생

// 상수 선언 후 값 할당
let sum: Int
let a: Int = 100
let b: Int = 200

sum = a + b
sum = 0 // 오류 발생 - 상수의 값 변경 불가능!

// 변수 선언 후 할당
var nickName: String
nickname = "yeon"

nickname = "leeeeeeyeon"

기본 데이터 타입

  • Bool, Int, UInt, Float, Double, Character, String
  • 다른 데이터 타입 간의 암시적 변환이 어려움
// Bool
var someBool: Bool = true
someBool = false
someBool = 0 // 오류 발생 - 다른 언어처럼 0, 1로 boolean 값 할당 불가능

// Int
var someInt: Int = 100

// UInt
// Unsigned Int, 양의 정수
var someUInt: UInt = 100
someUInt = someInt // 오류 발생 - UInt에 Int 타입 사용 불가능

// Float
var someFloat: Float = 3.14
someFloat = 3 // 정수 값 사용 가능

// Double
var someDouble: Double = 3.14
someDouble = 3 // 정수 값 사용 가능
someDouble = someFloat // 오류 발생 - Float과 호환 불가능

// Character
// 한 글자 문자를 표현
// 큰 따옴표(" ") 사용
var someCharacter: Character = "🥴"
someCharacter = "얍"
someCharacter = "A"

// String
var someString: String = "안녕하세요"
someString = someString + ", 반가워요" // 연산자를 사용한 문자열 합치기 가능

Any, AnyObject, nil

  • Any - 모든 타입을 지칭하는 키워드
  • AnyObject - 모든 클래스 타입을 지칭하는 프로토콜
  • nil - 없음을 의미하는 키워드
// Any
var someAny: Any = 100
someAny = "어떤 타입도 수용 가능"
someAny = 123.12

let someDouble: Double = someAny // 오류 발생 - 데이터 타입에 Any 할당 불가능

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

// nil
// null과 유사
someAny = nil // 오류 발생 - Any에 할당 불가능
soneAnyObject = nil // 오류 발생 - AnyObject에 할당 불가능

🔮 Reference

  • 유튜브 yagom님의 Swift 강좌
profile
[~2023.04] 블로그 이전했습니다 ㅎㅎ https://leeeeeyeon-dev.tistory.com/

0개의 댓글