목록전체 글 (51)
J

WMO(Whole Module Optimization) - 전체 모듈 최적화WMO는 Swift 컴파일러가 제공하는 최적화 기법 중 하나로, 모듈 내의 모든 파일을 동시에 컴파일하여 성능을 극대화하는 방법.일반적으로 Swift는 개별 파일 단위로 컴파일하지만, WMO를 사용하면 모듈 전체를 한 번에 컴파일하기에 전역적인 최적화 가능.빌드 시간 단축과 런타임 성능 최적화를 목표로 하며, 특히 앱의 배포(build for release) 시점에 성능을 극대화할 수 있도록 설계.1. WMO의 원리일반적으로 Swift 컴파일러는 각 소스 파일을 개별적으로 컴파일 진행.그러나, 파일 단위로 컴파일할 때는 다른 파일에 정의된 타입, 메소드 등에 대한 정보 사용이 제한적이어서 최적화의 범위가 좁음.반면, WMO는 모듈..
`final` 키워드와 Type에 따른 Dispatch`final` 키워드는 클래스, 메소드, 프로퍼티 등에서 사용되며, 해당 클래스, 메소드, 프로퍼티 등을 상속하거나 오버라이드할 수 없도록 함. → 변경 불가능한 클래스, 메소드, 프로퍼티 등을 만들기 위한 키워드.성능 최적화 및 코드 안전성 향상에 큰 역할을 하며, static/dynamic dispatch의 차이와 관련.1. `final` 키워드의 특징클래스에 `final`을 사용하면 해당 클래스를 상속할 수 없음.메소드나 프로퍼티에 `final`을 사용하면 해당 메소드를 오버라이드할 수 없음.`final`을 적용하면 컴파일 시점에 정적으로 호출이 결정되어 성능 최적화에 도움.2. `final` 키워드 사용 예시`final` 클래스final cla..

선언, 파일, 그리고 모듈에 의해 코드의 노출을 관리.현재 사용하고 있는 파일이나 모듈이 아닌 다른 파일과 모듈에서 코드 접근에 대해 제한하는 것.이 기능은 코드의 세부적인 구현을 숨기고, 해당 코드에 접근할 수 있는 기본 인터페이스를 지정할 수 있음.접근 수준은 개별 타입(클래스, 구조체, 그리고 열거형)과 해당 타입에 속하는 프로퍼티, 메서드, 초기화 구문과 서브 스크립트에 할당 가능.Swift는 기본 접근 수준을 제공하기 때문에 명시적으로 접근 제어 수준을 지정할 필요성을 줄여 줌.→ 단일 앱의 경우 접근 제어 수준을 지정할 필요가 없음.1. 모듈과 소스 파일(Modules and Source Files)Swift의 접근 제어 모델은 모듈과 파일의 개념을 기초.모듈(Modules)프레임워크 또는 애..