TIL: Swift에서의 초기화(Initialization) 개념 정리

jeongmuyamette·2024년 11월 21일

TIL

목록 보기
1/72
post-thumbnail

Swift에서의 초기화(Initialization) 개념 정리 🚀

1. 초기화란? 🤔

초기화는 클래스, 구조체, 열거형의 인스턴스를 사용하기 위해 준비하는 과정입니다. 이 과정에서 각 저장 프로퍼티의 초기값을 설정하고 필요한 설정이나 초기 작업을 수행합니다.

2. 초기화가 필요한 이유 ⚡️

  1. Swift는 타입 안전(Type-safe) 언어이므로, 모든 변수는 사용하기 전에 반드시 초기값을 가져야 합니다
  2. 변수가 가질 수 있는 값의 범위를 명확하게 합니다
  3. 예기치 않은 값이나 상태를 방지할 수 있습니다

3. 초기화 방법 예시 💻

// 1. 직접 값을 할당하는 초기화 ✨
var name = "Kim"
var age = 25
var score = 0

// 2. 배열의 초기화 📦
var numbers = [1, 2, 3]
var emptyArray = [Int]()

// 3. 옵셔널 초기화 🎁
var optionalName: String?  // 자동으로 nil로 초기화

// 4. 클래스/구조체 초기화 🏗
struct Person {
    var name: String
    var age: Int
    
    // 초기화 메서드(이니셜라이저)
    init(name: String, age: Int) {
        self.name = name
        self.age = age
    }
}

4. 실생활 비유 🌟

  • 새 휴대폰 개통: 최초 설정 값으로 초기화 📱
  • 새 게임 시작: 캐릭터의 초기 체력, 레벨 설정 🎮
  • 새 통장 개설: 초기 잔액 0원으로 설정 💰

5. 초기화 시 주의사항 ⚠️

  1. 모든 저장 프로퍼티는 초기값을 가져야 합니다
  2. 옵셔널이 아닌 프로퍼티는 반드시 초기화해야 합니다
  3. 초기화되지 않은 변수를 사용하면 컴파일 에러가 발생합니다

6. 코드 예제로 보는 초기화의 중요성 💡

func findClosestNumber(_ array: [Int], _ n: Int) -> Int {
    let numbers = array.sorted()
    
    // 초기화가 없다면?
    var answer  // ❌ 에러! 초기값 없음
    
    // 올바른 초기화
    var answer = numbers[0]  // ✅ 첫 번째 값으로 초기화
    
    // 이후 비교 로직...
}

7. 정리 📝

  • 초기화는 변수나 상수에 최초의 값을 설정하는 과정
  • Swift에서는 타입 안전성을 위해 모든 변수가 사용되기 전에 초기화되어야 함
  • 적절한 초기화는 안정적인 프로그램 실행의 기초가 됨

0개의 댓글