티스토리 뷰

Swift

[Swift] 접근제어

Kim_Baechu 2021. 5. 1. 18:14

객체지향 프로그래밍에서 캡슐화와 은닉화가 중요

외부에서 접근하면 안 되는 코드가 있기 때문

 

*모듈 - 배포 단위 (프레임워크, 라이브러리, 애플리케이션 ...)

모듈과 소스파일 (Modules and Source Files)

Swift의 접근제어는 모듈과 소스파일에 기반을 두고 있습니다. 모듈은 코드를 배포하는 단일 단위로 하나의 프레임워크나 앱이 이 단위로 배포되고 다른 모듈에서 Swift의 import키워드를 사용해 import될 수 있습니다. Xcode의 각 빌드 타겟은 Swift에서 분리된 단일 모듈로 취급됩니다. 소스파일은 모듈안에 있는 소스파일을 의미합니다. 각 소스파일에 여러 특정 타입을 선언해 사용할 수 있습니다.

접근수준

타입(클래스, 구조체, 열거형 등)에 접근수준 지정

타입 내부의 프로퍼티, 메서드, 이니셜라이저, 서브스크립트에 접근수준 지정

open, public, internal, fileprivate, private

 

open

다른 모듈에서도 부모클래스로 사용하겠다는 목적 (클래스에서만 사용)

모듈 밖에서도 상속, 재정의가 가능

 

public

프레임워크에서 외부와 연결될 인터페이스 구현에 많이 쓰임

예 public struct Bool {}

 

internal

기본 접근 수준

 

fileprivate

소스파일 내부에서만 사용

private

구현 범위 내

 

참고 도서

m.yes24.com/Goods/Detail/78907450

 

스위프트 프로그래밍

문법을 넘어 프로그래밍 패러다임도 익히는 스위프트 5스위프트 5의 핵심 키워드는 ‘안정화’다. ABI 안정화 덕분에 버전과 환경에 크게 영향받지 않고 더 유연하게 스위프트를

m.yes24.com

 

'Swift' 카테고리의 다른 글

[Swift] static 타입 프로퍼티, 타입 메서드  (0) 2021.05.06
[Swift] 상속  (0) 2021.05.01
[Swift] 구조체와 클래스 Struct and Class  (0) 2021.05.01
[Swift] Swift 언어의 특징  (0) 2021.05.01
[Swift] Delegation이란?  (0) 2021.04.09
댓글
공지사항