[swift] 구조체와 열거형의 차이점과 활용 시기

구조체(struct)와 열거형(enum)은 Swift에서 중요한 데이터 타입으로, 각각의 특징과 활용 시기에 대해 알아보겠습니다.

구조체(struct)

구조체는 여러 개의 다양한 데이터를 묶어 하나의 데이터 타입으로 정의할 수 있습니다. 구조체는 값 타입(value type)이고, 복사되어 전달될 때마다 해당 값이 복제됩니다. 구조체는 프로퍼티와 메서드를 포함할 수 있고, 초기화된 인스턴스를 한 번 생성하면 그 값을 변경할 수 없는 불변성(immutable) 특성을 가질 수 있습니다.

구조체를 사용하여 간단한 데이터 모델링이나 값의 전달에 적합합니다.

struct Person {
    var name: String
    var age: Int
}

위의 예시에서 Person 구조체는 이름과 나이를 나타내는 프로퍼티를 가지고 있습니다.

열거형(enum)

열거형은 연관된 값들을 그룹화하여 나타내기 위한 데이터 타입입니다. 주로 상태(state)나 옵션(option)을 표현하는 데 사용됩니다.

열거형은 각각의 케이스(case)마다 다른 연관 값을 가질 수 있으며, 스위프트에서 강력한 패턴 매칭(pattern matching) 기능을 제공합니다.

열거형은 비슷한 종류의 값을 그룹화하고 다양한 상태를 나타낼 때 유용합니다.

enum CompassPoint {
    case north
    case south
    case east
    case west
}

위의 예시에서 CompassPoint 열거형은 북, 남, 동, 서의 네 가지 경우(case)를 정의하고 있습니다.

활용 시기

구조체는 값을 전달할 때 복사본을 만들어야 하는 경우나 간단한 데이터를 표현할 때 유용합니다. 반면에, 열거형은 서로 다른 상태나 옵션들을 고려할 때, 그룹화하여 나타내는 경우에 사용됩니다.

구조체와 열거형은 각각의 특성에 맞게 적절하게 활용함으로써 가독성이 높고 안정적인 코드를 작성하는 데 도움이 됩니다.

이상으로 구조체와 열거형의 차이와 활용 시기에 대해 살펴보았습니다.