본문 바로가기

struct

(3)
Swift의 프로토콜(Protocol) 1. 프로토콜 •프로토콜(Protocol)은 특정 역할을 수행하기 위한 메서드, 프로퍼티, 기타 요구사항 등의 청사진을 정의 •구조체, 클래스, 열거형은 프로토콜을 채택(Adopted) 해서 특정 기능을 수행하기 위한 프로토콜의 요구사항을 실제로 구현 가능 •어떤 프로토콜의 요구사항을 모두 따르는 타입은 그 프로토콜을 준수한다(Conform)고 표현 •타입에서 프로토콜의 요구사항을 충족시키려면 프로토콜이 제시하는 청사진의 기능을 모두 구현해야 함. 즉, 프로토콜은 기능을 정의하고 제시 할 뿐이지 스스로 기능을 구현하지 않음 2. 정의 •protocol 키워드를 사용하여 정의 123protocol 프로토콜 이름 { /*정의부*/}cs 3. 구현 •프로퍼티 요구는 항상 var 키워드를 사용 •get은 읽기만..
Swift의 값/참조 타입 클래스 vs 구조체/열거형 •클래스는 참조 타입, 열거형과 구조체는 값 타입이라는 것이 가장 큰 차이•클래스는 상속이 가능하지만, 열거형과 구조체는 상속이 불가능 1. 값 타입과 참조 타입 비교 •값 타입(Value Type) : 데이터를 전달할 때 값을 복사하여 전달 •참조 타입(Reference Type) : 데이터를 전달할 때 값의 메모리 위치를 전달 123456789101112131415161718192021222324252627282930313233343536struct ValueType { var property = 1} class ReferenceType { var property = 1} // 첫 번째 구조체 인스턴스let firstStructInstance = ValueType() // ..
Swift의 구조체 1. 구조체 •스위프트의 대부분 타입은 구조체로 이루어져 있음 •구조체는 값(Value) 타입 •타입이름은 대문자 카멜케이스를 사용하여 정의 2. 구조체 문법 •구조체 정의 : "struct" 키워드 사용 123struct 이름 { /* 구현부 */}cs •구조체 프로퍼티 및 메서드 구현 1234567891011121314151617181920struct Sample { // 가변 프로퍼티 (값 변경 가능) var mutableProperty: Int = 100 // 불변 프로퍼티 (값 변경 불가능) let immutableProperty: Int = 100 // 타입 프로퍼티(static 키워드 사용 : 타입 자체가 사용하는 프로퍼티) static var typeProperty: Int = 100 //..