모듈과 접근제어를 묶어서 생각하면 기억하기 쉽다.
<aside>
💡 스위프트 개발 맥락에서 사용하는 정의입니다.
</aside>
한 줄 요약
- 모듈 : 하나의 빌드 단위 ( = 타겟)
- 소스 파일 : 모듈에 포함되는
.swift
파일들
Modules and Source Files
- 스위프트의 접근 제어 모델은 모듈과 소스파일들의 개념에 기초한다.
- 모듈은 하나의 코드 배포 단위다.
- 모듈은 프레임워크나 앱이 될 수 있다.
- 이들은 하나의 단위로 빌드되고 배포되며, 다른 모듈에 의해 스위프트의
import
키워드로 추가될 수 있다.
- App bundle 이나 framework 와 같은 각각의 빌드 타겟은 스위프트에서 독릭접인 모듈로 간주된다.
- 만약 앱의 어떤 부분을 모아서 하나의 독립적인 프레임워크로 만든다면, 해당 프레임워크에서 정의한 모든 것들은 하나의 독립적인 모듈에 포함되어 다른 앱이나 프레임워크에서
import
되는 것이다. (의역)
- 캡슐화와 재사용을 위해 독립적인 프레임워크로 만들었으리라.
- 소스파일 은 단일
.swift
파일을 가리키며 모듈에 포함된다.
- 사실상 모듈은 앱이나 프레임워크이므로 이들에 포함된다고 봐도 맞다.
- 단일 소스파일에는 보통 하나의 타입을 정의하는 것이 흔하지만, 복수 개의 타입을 정의해놓을 수도 있다.
더 나아가서…
- [ ] Xcode 에서 모듈 만들기
- [ ] Dynamic Library 와 Static Library
- [ ] Xcode Framework
참고자료