본문 바로가기

클래스

(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. 클래스 •클래스는 참조(reference) 타입 •타입이름은 대문자 카멜케이스를 사용하여 정의 •Swift의 클래스는 다중 상속이 되지 않음 2. 클래스 문법 •정의: "class" 키워드 사용 123class 이름 { /* */}cs •프로퍼티 및 메서드 구현 1234567891011121314151617181920212223242526class Sample { // 가변 프로퍼티 var mutableProperty: Int = 100 // 불변 프로퍼티 let immutableProperty: Int = 100 // 타입 프로퍼티 static var typeProperty: Int = 100 // 인스턴스 메서드 func instanceMethod() { print("instance method..