[swift] 중첩 데이터 타입(Nested Data Types)

Swift에서는 구조체, 클래스 또는 열거형 안에 다른 구조체, 클래스, 열거형을 중첩하여 정의할 수 있습니다. 중첩된 데이터 타입은 코드 구조를 조직화하고 관련된 데이터를 논리적으로 그룹화하는 데 유용합니다.

구조체 안에 구조체 정의하기

struct Address {
    var street: String
    var city: String
    var postalCode: String

    struct FullAddress {
        var address: Address
        var country: String
    }
}

위 예제에서 Address 구조체 안에 FullAddress라는 중첩된 구조체를 정의했습니다. 이것은 주소와 국가를 모두 포함하는 하나의 단위로 표현할 수 있습니다.

열거형 안에 열거형 정의하기

enum Media {
    case book
    case movie

    enum Genre {
        case fiction
        case nonFiction
    }
}

위 예제에서 Media 열거형 안에 Genre라는 중첩된 열거형을 정의했습니다. 이것은 책 및 영화의 장르를 나타내는 데 사용될 수 있습니다.

중첩 데이터 타입을 사용하면 서로 관련된 타입을 논리적으로 그룹화하여 코드를 구조화할 수 있습니다. 중첩된 데이터 타입은 외부에서도 접근할 수 있으며, 내부 데이터 타입의 속성에 액세스할 때 외부 타입의 이름을 함께 사용하여 참조할 수 있습니다.

이와 같은 특징들로 인해 Swift의 중첩 데이터 타입은 코드의 가독성을 향상시키고 유지보수를 용이하게 만듭니다.

참고 문헌: Swift Language Guide - Nested Types