[swift] 옵저버블과 변수의 차이점

Swift에서 옵저버블과 변수는 프로그래밍에서 중요한 개념입니다. 이 두 개념은 데이터를 저장하고 관리하는 방식에서 차이가 있습니다.

변수 (Variables)

변수는 값을 저장하기 위해 사용됩니다. 일반적으로 변수는 대입(assignment) 연산자를 통해 값을 할당하고 사용자가 명시적으로 변경할 수 있습니다. 예를 들어, 다음과 같은 코드에서 변수를 사용하여 값을 저장하고 변경할 수 있습니다.

var age: Int = 25
print(age) // 출력: 25

age = 30
print(age) // 출력: 30

위의 예제에서 age 변수는 초기에 25로 설정되었고, 이후에 30으로 변경되었습니다. 변수는 언제든지 값이 변경될 수 있는 특징이 있습니다.

옵저버블 (Observables)

옵저버블은 변수와 비슷하지만, 값의 변경을 감지하고 이에 대한 알림을 제공하는 능력이 있습니다. Swift에서 옵저버블은 주로 프로퍼티 감시자(property observers)를 통해 구현됩니다. 프로퍼티 감시자는 프로퍼티의 값 변경 직전(willSet)과 값 변경 직후(didSet)에 호출되는 특별한 메서드입니다.

예를 들어, 다음과 같은 옵저버블을 사용하여 값을 감시하고 알림을 받을 수 있습니다.

var score: Int = 0 {
    willSet {
        print("점수가 변경될 예정입니다.")
    }
    didSet {
        print("점수가 변경되었습니다. 현재 점수는 \(score)입니다.")
    }
}

score = 10
// 출력:
// 점수가 변경될 예정입니다.
// 점수가 변경되었습니다. 현재 점수는 10입니다.

옵저버블의 경우, 값을 변경하는 시점에서 프로퍼티 감시자가 호출되며, 변경 전(willSet)과 변경 후(didSet)의 알림을 받을 수 있습니다.

결론

변수와 옵저버블은 Swift에서 데이터를 저장하고 관리하는 데 사용되는 중요한 개념입니다. 변수는 값을 저장하고 변경할 수 있으며, 옵저버블은 값의 변경을 감지하고 알림을 제공합니다. 애플리케이션에서 데이터가 변경될 때 알림을 받아야하는 경우, 옵저버블을 사용하여 응용 프로그램의 상태를 관리하는 것이 유용할 수 있습니다.

두 개념을 잘 이해하고 조합하여 적절히 사용한다면, 안정적이고 유연한 애플리케이션을 개발할 수 있습니다.


참고 자료: