티스토리 뷰

Swift/야곰의 스위프트

24장 타입 중첩

할루루 2018. 4. 28. 21:51

[시작]


- 특정 데이터 타입을 하나의 클래스나 구조체 안에 구현할 수 있다. -> 중첩 타입

 : 클래스나 구조체 내부에 열거형을 선언하여 자신의 내부에서만 사용할 수 있게.

 : 외부와의 혼선을 피하기 위해.

- 타입 내부에 새로운 타입을 정의하고 싶다면, 자신의 정의 내부에 새로운 타입을 정의하고 구현하면 된다.



[중첩 데이터 타입]


class Person {

    enum Job {

        case none

        case planner

        case designer

        case developer

    }

    var job: Job = .none

}


class Developer: Person {

    enum Platform {

        case android

        case ios

        case web

    }

    var platform: Platform

    init(_ platform: Platform) {

        self.platform = platform

        super.init()

        self.job = .developer

    }

}

let myJob: Person.Job = .developer

let myPlatform: Developer.Platform = .ios


각각의 클래스 안에 해당 클래스에만 사용할 수 있는 열거형을 정의하고 구현하였다.

중첩 데이터 타입을 사용할 때는 자신이 속해 있는 타입의 이름을 자신보다 앞에 적어주어야 한다. 타입 안에 정의되어 있기 때문이다.

이렇게 서로 중첩된 타입이 정확히 어떠한 역할을 위해 만들어졌는지 확실하게 알 수 있다.


- 목적에 따라 타입을 중첩하는 것은 타입의 목적성을 명확히 하는 데 도움을 줄 수 있다.

'Swift > 야곰의 스위프트' 카테고리의 다른 글

26장 where 절  (0) 2018.04.30
25장 패턴  (0) 2018.04.28
23장 프로토콜 지향 프로그래밍  (0) 2018.04.28
22장 제네릭  (0) 2018.04.27
21장 익스텐션  (0) 2018.03.07
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함