study record

[Swift] 타입 중첩 본문

Swift/스위프트 프로그래밍

[Swift] 타입 중첩

asong 2022. 1. 19. 10:37

*이 글은 책 “스위프트 프로그래밍”을 읽고 작성한 글입니다.

 

 

스위프트에는 타입 내부에 타입을 정의하고 구현할 수 있다. 이처럼 타입 내부에 새로운 타입을 선언해준 것을 중첩 타입이라고 부른다.

 

중첩 데이터 타입

함수를 중첩해 사용했듯이 클래스 내부에 새 클래스, 클래스 내부에 새 구조체, 구조체 내부에 새 열거형 등의 타입을 중첩해서 타입 내부에 새 타입을 정의할 수 있다.

class Person{
	enum Job {
		case jobless, programmer, student
	}
	var job: Job = .jobless
}

Person 클래스 내부에는 중첩 데이터 타입으로 Job이라는 열거형 타입이 정의되어 있다. 중첩 데이터 타입을 사용할 때는 자신을 둘러싼 타입의 이름을 자신보다 앞에 적어줘야 한다. 예를 들어 Job 타입을 나타내기 위해서는 Person.Job이라고 표현한다.

 

중첩 데이터 타입은 다른 타입 내부에 중첩하여 구현하므로 목적에 따라 타입을 중첩하는 것은 타입의 목적성을 명확히 하는 데 큰 도움이 된다.

'Swift > 스위프트 프로그래밍' 카테고리의 다른 글

[Swift] where절  (0) 2022.01.24
[Swift] 패턴  (0) 2022.01.20
[Swift] 프로토콜 지향 프로그래밍  (0) 2022.01.18
[Swift] 제네릭  (0) 2022.01.14
[Swift] 익스텐션  (0) 2022.01.12