기본 문법 공부(접근제어 - 접근제어란, 접근제어 필요성, 모듈과 소스파일)
이 포스트는 야곰님의 Swift 프로그래밍 2판을 보고 스스로 공부한 내용을 정리한 포스트 입니다.
참고 자료
접근제어(Access Control)란
-
접근제어(Access Control)는 코드끼리 상호작용을 할 때 파일 간 또는 모듈 간에 접근을 제한할 수 있는 기능이다.
-
접근제어(Access Control)를 통해 코드의 상세 구현은 숨기고 허용된 기능만 사용하는 인터페이스를 제공할 수 있다.
-
객체지향 프로그래밍 패러다임에서 은닉화는 중요한 개념중 하나이다. 이를 구현하기 위한
핵심 기능이 바로 접근제어(Access Control)이다.
접근제어의 필요성
-
객체지향 프로그래밍 패러다임에서 중요한 캡슐화와 은닉화를 구현하는 이유는 외부에서 보거나 접근하면 안 되는 코드가 있기 때문이다.
-
불필요한 접근으로 의도치 않은 결과를 초래하거나 꼭 필요한 부분만 제공을 해야하는데 전체 코드가 노출될 가능성이 있을 때 접근제어를 이용한다.
모듈(Modules)과 소스파일(Source Files)
-
스위프트의
접근제어는 모듈과 소스파일을 기반으로 설계되었다.
-
모듈(Modules)은 배포할 코드의 묶음 단위이다.
-
통상 하나의 프레임워크(Framework)나 라이브러리(Library) 또는 애플리케이션(Application)이 모듈 단위가 될 수 있다.
-
스위프트에서는
import 키워드를 사용해 불러온다.
-
-
소스파일(Source Files)은 하나의 스위프트 소스 코드 파일을 의미한다.
-
자바나 Objective-C와 같은 기존의 프로그래밍 언어에서는
통상 파일 하나에 타입을 하나만 정의한다.
-
스위프트에서도
보통 파일 하나에 타입 하나만 정의하지만, 때로는 소스파일(Souece File) 하나에 여러 타입(여러 개의 클래스나 구조체, 열거형 등)이나 함수 등 많은 것을 정의하거나 구현할 수도 있다.