[Swift] 프로토콜(protocol)
·
Apple/Swift
1. 프로토콜(protocol) 특정 클래스와 관련 없는 프로퍼티, 메서드 선언 집합 함수(메서드) 정의는 없음 기능이나 속성에 대한 설계도 클래스(구조체, 열거형)에서 채택(adopt)하여 메서드를 구현해야 한다. 자바와 C#에서 interface에 해당하는 것이다. C++의 abstract base class Protocol Oriented Programming(POP) 프로토콜 단위로 묶어서 표현하고, extension으로 기본적인 것을 구현(protocol default implementation)을 해서 단일 상속의 한계를 극복하고자 하는 프로그래밍 기법이다. 2. 스위프트 상속과 프로토콜 채택 부모 클래스는 하나만 가능하며 여러 개라면 나머지는 프로토콜 class 클래스명:부모명, 프로토콜명{..
[Swift] 클래스와 상속, super와 override
·
Apple/Swift
1. 클래스란? Swift에서 클래스는 객체 지향 프로그래밍(OOP)의 기본 빌딩 블록입니다. 해당 클래스 유형의 개체가 가질 수 있는 속성과 동작을 정의하는 청사진입니다. 클래스는 개체라고도 하는 인스턴스를 만들기 위한 템플릿 또는 프로토타입 역할을 합니다. 클래스에서 데이터를 저장하는 속성과 작업을 수행하거나 기능을 제공하는 메서드를 정의할 수 있습니다. 속성은 이름, 사용 기간 또는 색상과 같은 개체의 특성 또는 특성을 나타냅니다. 반면에 메서드는 개체가 수행할 수 있는 작업 또는 동작을 정의하는 클래스와 관련된 함수입니다. Swift의 클래스는 상속을 지원하므로 수퍼클래스에서 속성과 메서드를 상속하는 하위클래스를 만들 수 있습니다. 이렇게 하면 코드 재사용이 용이해지고 기능이 추가되거나 수정된 ​..
[Swift] 클래스, 객체, 인스턴스
·
Apple/Swift
1. 객체 인스턴스 실제로 메모리에 할당된 객체(object) 소프트웨어 애플리케이션을 개발하는데 사용되는, 쉽게 사용할 수 있으며 재사용할 수 있는 기능을 가진 모듈이다. 객체의 구성: 데이터 변수(data variable) or 속성(property), 함수 or 메서드(method) 2. 클래스란? 객체가 생성되었을 때 어떠한 모습을 보일 것인지를 정의한 것이다. 매서드는 어떠한 일을 하고 어떠한 속성이 있는지 등을 정의 3. 클래스 선언하기 "프로퍼티" 부분은 클래스 내에 포함되는 변수(var)와 상수(let)를 정의한다. "인스턴스 메서드"는 객체가 호출하는 메서드를 정의한다. "타입 메서드"는 클래스가 호출하는 메서드를 정의한다. 4. 메서드 정의 인스턴스(instance) 메서드, 클래스 또..
[Swift] 함수와 메서드
·
Apple/Swift
함수 함수란 특정 작업을 수행하는 코드 블럭이다. 수행하기 위하여 데이터가 제공될 수 있으며, 함수를 호출한 코드에 작업한 결과를 반환할 수도 있다. 함수 정의부의 값을 매개변수(parameter), 호출시의 값은 아규먼트(argument)라고 부른다. 메서드(method) 특정 클래스, 구조체, 열거형 내의 함수 함수를 스위프트 클래스 내에 선언하면 메서드라고 부른다. 디폴트 매개변수 정의하기 argument로 전달하는 값이 없는 경우, 디폴트 매개변수 값을 사용한다. 함수를 선언할 때 매개변수에 디폴트 값을 할당한다. 함수로부터 여러 개의 결과 반환하기 함수는 여러 결과 값들을 튜플로 감싸서 반환할 수 있다. 인치 단위의 수를 매개변수로 받아 야드, 센티미터, 미터로 반환하고 이 세 개의 값을 하나의..