BoostCourse(33)
-
Instance 메서드와 Type 메서드의 차이점을 설명하시오.
Instance Method 특정 클래스, 구조체 또는 열거형의 인스턴스에 속하는 함수 특정 타입의 인스턴스에서 호출되는 메서드 class Sample { var something : String? func useInstanceMethod() { print("instance method!!") } } // 인스턴스 메서드를 사용하기 위해서는? // 1. 인스턴스를 생성해준다. var some : Sample = Sample() // 2. 인스턴스 메서드는 생성한 인스턴스와 함께 사용할 수 있다. some.useInstanceMethod() // ----- 출력값 // instance method!! 📌 some이라는 인스턴스를 만들어주고, some의 내부함수인 useInstanceMethod()를 호출하..
2022.05.08 -
Struct가 무엇이고 어떻게 사용하는지 설명하시오.
Struct란? Swift 대부분 타입은 구조체로 이루어져 있다. 구조체는 값(value)타입이다. 타입 이름은 대문자 카멜케이스를 사용하여 정의한다. Struct 문법 'struct' 키워드로 구조체를 정의한다. struct (대문자)이름 { /* 구현부 */ } 구조체 프로퍼티 및 메서드 구현 struct Sample { // 가변 프로퍼티(값 변경 가능) var mutableProperty:Int = 100 // 불변 프로퍼티(값 변경 불가능) let immutableProperty:Int = 100 // 타입 프로퍼티(static 키워드 사용: 타입 자체가 사용하는 프로퍼티) static var typeProperty:Int = 100 // 인스턴스 메서드(인스턴스가 사용하는 메서드) fun..
2022.05.08 -
Optional이란 무엇인지 설명하시오.
옵셔널(Optional)이란? 값이 있을수도 있고, 없을수도 있음을 표현 let optionalConstant : Int? = nil // 옵셔널이 아닌 상수에 nil값을 할당하려고 하면 // 컴파일 오류 발생 // let someConstant : Int = nil nil이 할당 될 수 있는지 없는지 표현 // someOptionalParam에는 nil이 할당 될 수 있다. func someFunction(someOptionalParam:Int?) { // ... } // someParam에는 nil이 할당 될 수 없다. func someFunction(someParam:Int) { // ... } someFunction(someOptionalParam:nil) // someFunction(someP..
2022.05.08 -
Class와 Struct의 차이점에 대해 설명하시오.
Class와 Struct 차이점 Class 참조 타입(Reference Type) 상속 가능 heap memory 영역에 할당 (속도가 느림) 런타임에 직접 alloc하며 reference counting을 통해 dealloc이 필요 memory fragmentation 등의 overhead가 존재 NSData serialize 가능 Codable 사용 불가능 런타임에 타입 캐스팅을 통해서 클래스 인스턴스에 따라 여러 동작이 가능 deinitializer 존재 Struct / Enum 값 타입(Value Type) 상속 불가능 (protocol은 사용 가능) stack memory 영역에 할당 (속도가 빠름) scope based lifetime: 컴파일타임에 compiler가 언제 메모리를 할당/해제할..
2022.05.02 -
더 알아보기 👀
추가적으로 알아가야 할 문법과 개념들 제네릭(Generics) 서브스크립트(Subscript) 접근수준(Access Control) ARC(Automatic Reference Counting) 중첩타입(Nested Types) 사용자정의 연산자(Custom Operators) 오류 처리(Error Handling) 불명확 타입(Opaque Types) 프로토콜 지향 프로그래밍(Protocol Oriented Programming) 이 글은 Boostcourse에서 배운 내용을 정리하여 작성하였습니다.
2021.02.10 -
고차함수
⭐ 고차 함수 ? 고차 함수(Higher-order function)는 '다른 함수를 전달인자로 받거나 함수실행의 결과를 함수로 반환하는 함수'를 뜻합니다. 스위프트의 함수(클로저)는 일급시민(일급객체)이기 때문에 함수의 전달인자로 전달할 수 있으며, 함수의 결과값으로 반환할 수 있습니다. 스위프트 표준라이브러리에서 제공하는 유용한 고차함수[map, filter, reduce]에 대해 알아봅니다. map, filter, reduce 함수는 스위프트 표준 라이브러리의 컨테이너 타입(Array, Set, Dictionary 등)에 구현되어 있습니다. 1. map map함수는 컨테이너 내부의 기존 데이터를 변형(transform)하여 새로운 컨테이너를 생성합니다. // 변형하고자 하는 numbers와 변형 결..
2021.02.10