iOS/Swift 문법 심화 학습22 클래스 [ Class ] 정의 - 클래스를 정의하여 객체를 만들고 사용할 수 있습니다. - 클래스에서 생성된 객체, 인스턴스를 만들어 코드 내에서 사용할 수 있습니다. - 클래스는 구조체와 유사합니다. - Swift의 클래스는 다중 상속이 되지 않습니다. - 클래스는 참조 타입입니다. 정의 형식 class 이름 { // 구현코드 } 예제 - 클래스도 구조체와 유사하게 프로퍼티와 메서드를 구현할 수 있습니다. 클래스 생성 - 클래스에서는 두 가지의 타입 메서드가 있습니다. - 두 가지의 타입 메서드로는 상속을 받았을 때, 재정의가 불가능한 static 메서드와 재정의가 가능한 class 메서드가 있습니다. class Sample { var mutableProperty: Int = 100 // 가변 프로퍼티 let immutable.. 2022. 2. 3. 구조체 [ Struct ] 정의 - 구조체는 인스턴스의 값(프로퍼티)을 저장하거나 기능(메서드)을 제공하고, 이를 캡슐화할 수 있는 스위프트가 제공하는 타입입니다. - 구조체 안의 변수를 프로퍼티라고 합니다. - 구조체 안의 함수를 메서드라고 합니다. - Swift에서는 대부분의 타입이 구조체로 이루어져 있습니다. - 구조체는 값 타입입니다. 정의 형식 struct 이름 { // 구현 코드 } 구조체 예제 구조체 생성 - 간단한 예제를 통해 알아보겠습니다. - 특정 타입 안에 들어있는 인스턴스 변수를 프로퍼티, 구조체 안에 있는 함수를 메서드라고 칭합니다. - 가변 프로퍼티는 변수 선언 후에도 값을 변경할 수 있는 (인스턴스) 프로퍼티입니다. - 불변 프로퍼티는 값을 변경할 수 없는 (인스턴스) 프로퍼티입니다. - static 키.. 2022. 2. 3. 클로저 고급 지난 클로저에 이은 클로저에 다양한 사용법에 대해 알아보겠습니다. [클로저의 기본 개념] 2022.02.01 - [iOS/Swift 문법 심화 학습] - 클로저 클로저 정의 - 코드의 블록입니다. - 참조 타입입니다. - 일급 객체(시민)입니다. 1, 일급 객체는 전달 인자로 보낼 수 있습니다. 2, 일급 객체는 변수, 상수, 등으로 저장하거나 전달 할 수 있습니다. 3, 일 seagreen83.tistory.com 예제 - 먼저 클로저를 사용하기 위한 함수를 만들겠습니다. - 메소드라는 이름으로 클로저를 전달 받아 기능을 구현하는 함수입니다. func calculate(a: Int, b: Int, method: (Int, Int) -> Int) -> Int { return method(a, b) } 후.. 2022. 2. 2. 클로저 정의 - 코드의 블록입니다. - 참조 타입입니다. - 일급 객체(시민)입니다. 1, 일급 객체는 전달 인자로 보낼 수 있습니다. 2, 일급 객체는 변수, 상수, 등으로 저장하거나 전달 할 수 있습니다. 3, 일급 객체는 함수의 반환 값이 될 수 있습니다. - 함수 또한 클로저의 포함됩니다. ( 함수 = 이름 있는 클로저 ) 형식 - 매개변수가 없는 경우 ( ) 로 생략 가능 - 반환타입이 없으면 void로 생략 가능 { (매개변수 목록) -> 반환타입 in // 실행할 코드 } 예제 1, 함수 - 다음은 일반적인 함수입니다. - Sum 이라는 함수에 매개변수 a, b에 대한 값을 계산해주는 기능입니다. - SumResult라는 변수에 a=1, b=2 값을 입력한 Sum 함수를 초기화하고 실행해보겠습니다... 2022. 2. 1. 값 타입과 참조 타입 클래스 / 구조체 / 열거형 클래스와 구조체, 열거형을 비교하며 값 타입과 참조 타입을 자세히 알아보겠습니다. Class Struct Enum 참조 타입 값 타입 값 타입 단일 상속 상속 불가 상속 불가 (인스턴스/타입)메서드 (인스턴스/타입)메서드 (인스턴스/타입)메서드 (인스턴스/타입)프로퍼티 (인스턴스/타입)프로퍼티 (인스턴스/타입)연산 프로퍼티 Apple 프레임워크의 큰 뼈대는 모두 클래스로 구성 Swift의 대부분의 큰 뼈대는 모두 구조체로 구성 다른 언어의 열거형과는 많이 다른 존재 열거형 자체가 하나의 데이터 타입 열거형의 case 하나하나 전부 하나의 유의미한 값으로 취급 *클래스, 구조체, 열거형 모두 Extension기능 사용 가능* 구조체의 사용 Swift에서 대부분의 뼈대는 모두 구.. 2022. 1. 31. extensions 정의 - 기존 클래스, 구조체, 열거형, 프로토콜 타입에 새로운 기능을 추가하는 기능입니다. 사용 : 익스텐션 기능을 활용하여 다음과 같은 기능을 추가할 수 있습니다. - 연산 타입 프로퍼티, 연산 인스턴스 프로퍼티 - 타입 메서드 - 인스턴스 메서드 - 이니셜라이저 - 서브스크립트 - 중첩타입(새로운 중첩 타입 정의와 사용) - 기존 타입에 특정 프로토콜을 추가 *extension기능을 통해 기존의 존재하는 기능은 추가할 수 없습니다.* 형식 extension [확장할 타입 이름] { // 추가구현할 기능 } 프로토콜 추가 형식 extension [확장할 타입 이름]: 프로토콜1, 프로토콜2, ... { // 프로토콜 요구사항 } 연산 프로퍼티 (Computed Properties) - 다음 예제는 5.. 2022. 1. 30. 이전 1 2 3 4 다음