728x90 IOS16 [Swift] 메서드(Methods) 📌 메서드(Methods) 특정 타입과 연관된 함수 기존 objective-C와는 다르게 Swift에서는 클래스 뿐만 아니라, 구조체, 열거형 모두 메서드를 정의할 수 있다. 1️⃣ 인스턴스 매서드(Instance Methods) 특정 클래스, 구조체, 또는 열거형의 인스턴스에 속하는 함수 인스턴스 프로퍼티에 접근하고 수정하는 방법 제공 class Counter { var count = 0 func increment() { count += 1 } func increment(by amount: Int) { count += amount } func reset() { count = 0 } } 위의 Counter 클래스는 3개의 인스턴스 매서드를 갖고 있다. increment() : 1씩 카운터 증가 incre.. 2023. 2. 13. [Swift] 구조체와 클래스의 프로퍼티(Properties) 구조체와 클래스에서 프로퍼티의 저장은 각각 다르게 적용된다. 하나씩 살펴보자 📌 저장된 프로퍼티(Stored Properties) var (변수) 혹은 let(상수)를 통해 저장된 프로퍼티를 쓸 수 있다. 1️⃣ 구조체에서의 저장 프로퍼티 첫번째 요소와 길이 범위를 설정하는 프로퍼티를 갖고 있는 FixedLengthRange 구조체가 있다. FixedLengthRange 의 인스턴스는 1. firstValue 라는 저장된 프로퍼티 변수가 있으며 2. length 라는 저장된 프로퍼티 상수를 가진다. length 는 새 범위가 생성될 때 초기화되며 프로퍼티 상수 이므로 변경할 수 없다. struct FixedLengthRange { var firstValue: Int let length: Int } 생성한.. 2023. 2. 13. [Swift] 구조체와 클래스(Structures and Classes) 📌 구조체와 클래스 차이 구조체 클래스 공통점 1. 값을 저장할 수 있다. 2. 메소드를 정의할 수 있다. 3. 서브 스크립트 정의를 통해 값에 접근 가능 4. 초기화 상태 정의 가능 5. 기능적 확장 가능 6. 표준 프로토콜 준수 차이점 1. 타입을 추론하기 쉬움 2. struct 키워드로 시작 3. 값 타입(value Types) 임 1. class 키워드로 시작 2. 상속 사용 가능(한 클래스가 다른 클래스의 특성 상속 가능) 3. 타입 캐스팅을 사용하면 런타임 시에 클래스 인스턴스 확인 가능 4. 초기화 해제 구문 -> 클래스 인스턴스가 할당된 리소스 해제 가능 5. 자동 참조 카운팅을 통해 하나 이상의 인스턴스 참조를 허락함 6. 참조 타입(Reference Types) 임 단점 ) 복잡성 증가.. 2023. 2. 8. [Swift] 열거형(Enumerations) 열거형 구문 enum 키워드 사용하여 중괄호 안에 모든 정의를 함 case 키워드를 사용하여 열거형 나열 1️⃣ 열거형 선언 enum CompassPoint { case north case south case east case west } 🔎 값 할당 및 접근 CompassPoint 이름을 통해 한번 값을 할당하면, 그 이후에는 이름을 생략해도 된다. var direction = CompassPoint.west direction = .east 2️⃣ switch 구문 사용 열거형 케이스에 대하여 switch 구문을 사용할 때, 모든 케이스에 대하여 조건이 명시되어 있어야 한다. direction = .south switch direction = { case .north: print("Lots of pla.. 2023. 1. 16. 이전 1 2 3 4 다음 728x90 반응형