초기화는 클래스, 구조체, 열거형 인스턴스를 사용하기 위한 준비 작업이다. 이 과정에서 각 저장 프로퍼티의 초기 값을 설정하며, 초기화는 initailizer를 정의하는 것으로 구현할 수 있다. 바로 확인해보자. 1. 저장 프로퍼티를 위한 초기값 설정 인스턴스의 저장 프로퍼티는 사용하기 전에 반드시 특정 값으로 초기화 되어야 한다. - Initializers Initializer는 특정 타입의 인스턴스를 생성한다. Initializer 의 가장 간단한 형태는 파라미터가 없는 init키워드를 사용한 표현이다. init() { // perform some initialization here } struct Fahrenheit { var temperature: Double init() { temperature..
Swift 또한 JAVA 나 C++과 동일하게 객체 지향 언어이기 때문에 부모 클래스의 성질을 자식 클래스에게 고스란히 상속할 수 있다. 바로 한번 알아보자. 1. 기반 클래스 정의 다른 어떤 클래스로 부터 어떤 것도 상속받지 않는 클래스를 기반 클래스라고 한다. JAVA에서는 모든 클래스가 Object 클래스를 상속하지만, swift 는 아무런 클래스도 상속받지 않는 기반 클래스를 가질 수 있다. 우선 Vehicle 이라는 기반 클래스를 하나 정의해보자. 이는 currentSpeed를 프로퍼티로, description을 계산된 프로퍼티로 가지고 있으며 makeNoise() 라는 메서드도 하나 가지고 있도록 한다. class Vehicle { var currentSpeed = 0.0 var descrip..
클래스, 구조체 그리고 열거형에서 스크립트를 정의하여 사용할 수 있다. SubScripts란 Collection, List, Sequence 등 집합의 특정 멤버 엘리먼트에 간단하게 접근할 수 있는 문법이다. SubScripts를 이용하면 추가적인 메서드 없이 특정 값을 할당하거나 가져올 수 있다. 예를들면, 배열 인스턴스의 특정 엘리먼트는 someArray[index] 문법으로, dictionary 인스턴스의 특정 엘리먼트는 someDictionary[key]로 접근할 수 있다. 바로 한번 알아보자. 1. Subscript 문법 Subscripts 선언 문법은 인스턴스 메서드와 Computed 프로퍼티를 선언하는 것과 비슷하다. subscript(index: Int) -> Int { get { // 적..
특정 타입의 클래스, 구조체, 열거형과 관련된 함수를 메서드라고 부른다. 이는 다른 언어의 메서드와 비슷한 특징을 가지고 있다. 한번 확인해보자. 1. 인스턴스 메서드 인스턴스 메서드는 특정 클래스, 구조체, 열거형의 인스턴스에 속한 메서드이다. 이 메서드를 통해 인스턴스의 값을 제어하거나 변경할 수 있다. class Counter { var count = 0 func increment() { count += 1 } func increment(by amount: Int) { count += amount } func reset() { count = 0 } } let counter = Counter() // 초기 count 값은 0입니다. counter.increment() // count 값이 1로 변경 ..
프로퍼티는 클래스, 구조체, 열거형 내부에 선언되어 호출되는 상수나 변수를 의미한다. 프로퍼티의 종류에는 Stored Properties 와 Computed Properties가 있는데, stored는 말 그대로 값을 저장하고 있는 프로퍼티이고, Computed는 값을 저장하고 있지 않고 특정하게 계산한 값을 반환해주는 프로퍼티이다. Computed 는 클래스, 구조체, 열거형에 모두 사용이 가능하지만 Stored는 클래스와 구조체 내에서만 사용이 가능하다. 추가로 프로퍼티 옵저버를 정의하여 값이 변할 때마다 모니터링할 수 있다. 1. Stored Properties 저장 프로퍼티는 앞서 봐왔던 예제와 동일하게 단순히 값을 저장하고 있는 프로퍼티이다. struct FixedLengthRange { var..
클래스와 구조체는 코드의 조직화와 객체화를 위하여 반드시 필요한 요소이다. 그만큼 익숙하기도 한데, 기초적인 부분부터 복습한다는 느낌으로 정리해보려고 한다. 구조체와 클래스는 값과 메서드를 내부에서 정의하고 그 기능을 확장한다는 맥락에서는 동일하지만, 다음 4가지 특징은 클래스만의 고유 특징이다. - 상속 - 타입 캐스팅: 런타임에 클래스 인스턴스의 타입을 확인 - 소멸자 - 참조 카운트: 클래스 인스턴스에 하나 이상의 참조가 가능 1. 선언 문법 class SomeClass { // 클래스 내용은 여기에 } struct SomeStructure { // 구조체 내용은 여기에 } struct Resolution { var width = 0 var height = 0 } class VideoMode { v..
사실 열거형 문법이야 언어마다 조금씩은 다르지만 큰 틀은 동일해서, 안다루고 넘어가려다 문법적인 표현 정도는 다루는 게 맞다고 생각을 해서 간단하게 다루고 넘어가려고 한다. 열거형 문법은 enum 키워드로 선언을 하고 case 키워드를 사용하여 구분 지어준다. enum CompassPoint { case north case south case east case west } 아래와 같이 case를 콤마로 구분하여 한 줄에 적을 수도 있다. enum Planet { case mercury, venus, earth, mars, jupiter, saturn, uranus, neptune } 열거형 타입을 최초로 변수에 정의할 때는 클래스의 타입을 명시해야 하지만, 이후에는 아래와 같이 생략하여도 무방하다. va..
클로저는 이름을 가지고 있던 가지고 있지 않던 {} 로 묶이는 거의 모든 코드 블록을 뜻한다고 생각하면 된다. 보통의 경우, 클로저라고 하면 이름이 없는 unnamed Clpsure를 뜻하며 익명함수라고도 한다. 클로저도 익명이긴 하지만 함수의 특징을 모두 가지고 있기 때문에 인자나 반환 값을 모두 가질 수 있다. 1. 클로저 표현식 클로저는 익명함수인 만큼 func 키워드를 사용 않는다. { (parameters) Return Type in Statement } 위와 같이 표현하며, in 키워드를 기준으로 Closure head 와 Closure Body로 구분할 수 있다. 실제로 클로저를 어떻게 선언하고 사용하는 지 확인해보면, - Parameter와 Return Type 이 둘 다 없는 경우: le..
1. Defining and Calling swift에서는 아래와 같이 함수를 선언할 수 있다. func greet(person: String) -> String { let greeting = "Hello, " + person + "!" return greeting } func 키워드를 앞에 붙이고 선언하며, person 이라는 String 파라미터를 인자로 받고 String 을 반환 값으로 반환하는 함수이다. 2. 복수의 값을 반환하는 함수 아래와 같이 튜플을 함수의 반환 값으로 사용하여 복수의 값을 반환할 수도 있다. func minMax(array: [Int]) -> (min: Int, max: Int) { var currentMin = array[0] var currentMax = array[0]..
Swift에서는 Collection Type으로 Array, Set, Dictionary 이렇게 세 가지를 지원한다. 기본적인 내용이지만, 한번 더 복습해보도록 하자. 1. Array - Basic: 아래와 같이 빈 배열을 선언할 수 있다. var someInts = [Int] () print("someInts is of type [Int] with \(someInts.count) items.") // someInts is of type [Int] with 0 items. someInts.append(3) // 배열에 3을 추가 했습니다. someInts = [] // 배열을 비웠습니다. 배열의 아이템 타입은 그대로 Int로 유지됩니다. repeating 메서드와 count 메서드를 사용하여 기본 값으로..
- 맛집
- redux-thunk
- javascript
- 이탈리안 레스토랑
- Promise
- 인천 구월동 이탈리안 맛집
- await
- redux
- react-native
- 인천 구월동 맛집
- 정보보안기사 #실기 #정리
- Async
- 파니노구스토
- react
- AsyncStorage
- Total
- Today
- Yesterday