[Swift] 접근제어
·
Apple/Swift
객체지향 프로그래밍 패러다임에서 은닉화는 중요한 개념입니다. 이번 시간에는 은익화를 구현하기 위한 핵심 기능인 접근제어에 대해서 알아보도록 하겠습니다. 접근제어란? 접근제어는 코드의 다양한 구성 요소(클래스, 메서드, 프로퍼티, 변수 등)이 코드의 다른 부분 또는 외부 모듈에서 어떻게 액세스 또는 사용될 수 있는지를 개발자가 지정할 수 있게 해주는 기능입니다. 접근제어를 통해 코드의 상세 구현은 숨기고 허용된 기능만 사용하는 인터페이스를 제공할 수 있습니다. 접근 제어는 코드베이스의 무결성, 보안 및 구성을 유지하도록 도와주며, 서로 다른 코드 부분 간의 상호 작용 방식에 제한을 부과합니다. 스위프트에서는 다섯 가지 수준의 접근 제어를 제공하며, 각 수준마다 고유한 규칙과 제한이 있습니다. 5가지 수준의..
[Swift] framework import
·
Apple/Swift
iOS 및 macOS 앱 개발 맥락에서 Swift framework import는 외부 코드 라이브러리 또는 모듈을 프로젝트에 포함하는 것을 의미합니다. Swift 프레임워크는 특정 기능을 캡슐화하는 Swift 코드 및 리소스 모음으로, 여러 프로젝트 간에 코드를 공유하거나 다른 사람에게 코드를 배포하기가 더 쉽습니다. Swift 프레임워크를 프로젝트로 가져오면 해당 프레임워크에 정의된 모든 공용 인터페이스 및 기능에 액세스할 수 있습니다. 이렇게 하면 자신의 코드에서 프레임워크의 클래스, 구조체, 함수 및 기타 구성 요소를 사용할 수 있습니다. 일반적으로 Swift 프레임워크를 프로젝트로 가져오는 방법은 다음과 같습니다. 프레임워크 가져오기: 먼저 사용하려는 Swift 프레임워크를 가져와야 합니다. S..
[Swift] 리터럴, 식별자, 키워드
·
Apple/Swift
리터럴 리터럴은 프로그램의 소스 코드에 직접 기록되는 고정 값입니다. 리터럴은 특정 데이터 유형과 해당 값을 나타냅니다. Apple에서 개발한 프로그래밍 언어인 Swift는 다양한 데이터 유형을 나타내는 여러 유형의 리터럴을 제공합니다. Swift에서 사용되는 몇 가지 일반적인 리터럴에 대해서 살펴보겠습니다. 정수 리터럴 정수 리터럴은 분수 구성요소가 없는 정수를 나타냅니다. 구분 기호 없이 일련의 숫자로 작성할 수 있습니다. 아래 소스는 정수 리터럴의 예시입니다. 부동 소수점 리터럴 부동 소수점 리터럴은 소수 구성 요소가 있는 십진수를 나타냅니다. 십진수 표기법 또는 과학적 표기법을 사용하여 작성할 수 있습니다. 아래 소스는 부동 소수점 리터럴의 예시입니다. 문자열 리터럴 문자열 리터럴은 큰따옴표로 묶..
[Swift] 열거형(enum)
·
Apple/Swift
1. 열거형(enum) 관련있는 데이터들이 멤버로 구성되어 있는 자료형 객체를 열거형이라고 한다. 원치 않는 값이 잘못 입력되는 것을 방지 입력 받을 값이 한정 되어 있을 때 특정 값 중 하나만 선택하게 할 때 2. 열거형의 정의 enum 열거형명 { 열거형 정의 } ex) enum Planet { case Mercury, Venus, Earth, Jupiter, Saturn, Uranus, Neptune } //하나의 case문에 멤버들 나열하는 것도 가능 ex) enum RGB { case Red case Green case Blue } //case문을 따로 따로 써주는 것도 가능 3. 열거형 예제 South East Compass 4. 열거형 멤버별 기능 정의 예제 남 5. 열거형 예제 스와이프(s..
[Swift] 프로토콜(protocol)
·
Apple/Swift
1. 프로토콜(protocol) 특정 클래스와 관련 없는 프로퍼티, 메서드 선언 집합 함수(메서드) 정의는 없음 기능이나 속성에 대한 설계도 클래스(구조체, 열거형)에서 채택(adopt)하여 메서드를 구현해야 한다. 자바와 C#에서 interface에 해당하는 것이다. C++의 abstract base class Protocol Oriented Programming(POP) 프로토콜 단위로 묶어서 표현하고, extension으로 기본적인 것을 구현(protocol default implementation)을 해서 단일 상속의 한계를 극복하고자 하는 프로그래밍 기법이다. 2. 스위프트 상속과 프로토콜 채택 부모 클래스는 하나만 가능하며 여러 개라면 나머지는 프로토콜 class 클래스명:부모명, 프로토콜명{..
[Swift] 익스텐션과 접근 제어
·
Apple/Swift
1. 익스텐션(extension) 스위프트 클래스, 구조체, 열거형, protocol에 새로운 기능을 추가 익스텐션은 하위 클래스를 생성하거나 참조하지 않고 기존 클래스에 메서드, 생성자(initializer), 계산 프로퍼티 등의 기능을 추가하기 위하여 사용한다. 스위프트 언어의 built-in클래스와 ios 프레임워크에 내장된 클래스에 기능을 추가할 때, 익스텐션을 이용하면 매우 효과적이다. 클래스(구조체, 열거형, protocol)는 다음과 같은 형태로 확장(익스텐션)된다. 2. 접근 제어(access control, access modifier) 접근 속성(접근 수정자, 액세스 수정자, 액세스 지정자)는 클래스, 메서드, 멤버의 접근 가능성을 성정하는 객체지향언어의 키워드이다. 구성 요소를 캡술화..