일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 스위프트
- 계명대
- 개발자
- IOS
- 자스민
- jest
- queue
- javascript
- 비동기
- SWIFT
- 리액트 예제
- 자료구조
- hokidoki
- hokeys
- 리액트
- 호키스
- react
- 자바스크립트 자료구조
- Svelte
- 이종호
- 스벨트
- HTML
- TDD
- 개발
- 자바스크립트
- Hitit
- 계명대 이종호
- 호키도키
- data structure
- 힛잇
- Today
- Total
목록분류 전체보기 (205)
Dog foot print
Enumeration 한국에서는 열거형 이라고 불리우는 Enumeration은 객체와 구조체과 비슷하지만, 그 사용 용도나 기능은 훨씬 제한적인 자료형이다. 열거형은 특정 상수들의 집합을 의미하며, 여기서 특정 이란 어떤 분류에 속해 있다는 의미이다. 예를 들면 집합은 다음과 같다. 성별 남자, 여자, 기타 대구시의 행정구청 달서구, 서구, 달성군, 북구, 중구, 수성구, 동구 방향 동,서,남,북 국가코드 82,32,42,52,62,75 위의 조합을 가진 구조체나 객체를 만들어 더욱 강력한 기능을 만들어 내는 것도, 나쁘지 않아 보인다. 그러나, 위의 조합을 사용할 때는 항상 인스턴스화 가 선행되어야 하고, 이는 프로젝트 규모가 커질수록 개발자의 실수로 인하여, 런타임 오류 혹은 컴파일 오류 가 발생하기..
초기화 구문 초기화 구문은 init으로 시작되는 생성자 함수를 의미합니다. 초기화 구문의 가장 큰 목적은 인스턴스 마다 멤버 프로퍼티의 값을 “설정하기 위함” 입니다. TIP : 멤버 와이즈 초기화 구문은 구조체만 가능합니다. 초기화 메서드 특성 초기화 메서드의 형식은 다음과 같습니다. init([param] : [type]){ //실행할 코드 }Tip : 만약 설정할 멤버가 존재하지 않는다면 init 메서드는 생략 할 수 있습니다. 초기화 메서드의 특성은 다음과 같습니다. 초기화 메서드의 이름은 무조건 init 이다. 매개변수의 개수, 이름, 타입은 임의로 정할 수 있으나, 해당 init 구문을 통해서 옵셔널 타입을 제외한 모든 저장 프로퍼티는 값을 가지고 있어야 한다. 매개변수의 이름과 개수, 타입이..
Type casting 타입 캐스팅은 어떤 클래스가 슈퍼 클래스 혹은 자신을 상속 받은 서브 클래스 로 타입으로 간주되는 것을 의미합니다. 이를 한국어로는 형변환이라고 합니다. Note : 부모와 자식간의 관계를 가진 클래스 중에서는 타입 캐스팅으로 인하여, 오류가 발생하는 경우가 존재합니다. Up Casting , Down Casting 타입 캐스팅은 캐스팅 전 타입과 캐스팅 후 타입의 상위/하위 관계에 따라 업 캐스팅과 다운 캐스팅으로 나뉩니다. 이를 구분하는 조건은 다음과 같습니다. Upcasting 하위 클래스 타입을 상위 클래스 타입으로 변환할 때 캐스팅하기 전 타입이 하위 클래스, 캐스팅한 후 타입이 상위 클래스일 때 캐스팅한 결과, 캐스팅 하기 전 타입보다 추상화 될 때(로직이 더 구체적이지..
상속이란 ? 클래스에서만 가능한 기능으로 상속은 특정 클래스의 메서드와 프로퍼티를 그대로 물려 받는 것 으로 정리가 가능합니다. 그래서 상속은 정의를 물려주는 클래스와 물려 받는 클래스가 존재하는데, 각각 슈퍼 클래스 와 서브 클래스 로 불리웁니다. 이를 번역 할 때 다른 이름으로 불리기도 하는데, 이를 정리하면 다음과 같습니다. 하위클래스 == 서브클래스 == 자식클래스 == 파생 클래스 상위클래스 == 슈퍼클래스 == 부모클래스 == 기본 클래스 상속을 받기 위한 class 를 정의 하는 것은 다음과 같습니다. class [name] : [상속받을 클래스] { 정의 부분 }만약 : 옆에 있는 클래스 이외에 다른 것이 있다면 이는 protocol 구현을 위한 구문 입니다. Ex : class Super..
메서드 메서드는 일종의 함수로써 클래스나, 구조체, 열거형과 같은 객체 내에서 함수가 선언 될 경우 이를 메소드라고 통칭한다. 메서드는 객체 내부에서 정의되어 객체를 통해 사용이 가능하다는 점이 일반 함수와 차이점이다. 메서드의 종류는 클래스 메서드와 인스턴스 메서드 이렇게 두 종류가 있다. 인스턴스 메서드는 인스턴스화 된 객체를 통해서만 사용이 가능하고, 클래스 메서드는 인스턴스를 통하지 않고, 사용 할 수 있다는 점이 다르다. 인스턴스 메서드 import UIKit; class Foo{ func FooFunc () -> String { print("FooFunc실행"); return "hello method"; } } let myFoo = Foo(); let message = myFoo.FooFunc..
프로퍼티 객체에는 property 와 method 두개로 이루어져있습니다. 스위프트에서는 프로퍼티의 기능과 종류가 많아 메서드와 비슷해 보입니다. property의 주목적은 “값을 저장하고, 값을 전달한다. “ method의 주목적은 단순히 함수이다. 정도로 생각하면 편할 듯 합니다 . 저장 프로퍼티 class Circle { var width = 0.0; var height = 0.0; let pie = 3.141592; //변경 불가능 var name : String; //인스턴스 생성까지 할당해야함 let id : String; // 인스턴스 생성까지 할당해야한다. var backgroundColor : String?; //추후 초기화 가능 var className : String!; // 추후 할..
클래스와 구조체 클래스와 구조체의 공통점 클래스와 구조체는 외형상 비슷한 부분이 많다. 프로퍼티 변수나 상수를 사용하여 값을 저장하는 프로퍼티를 정의할 수 있다. 메소드 함수를 사용하여, 기능을 제공하는 메소드를 정희 할 수 있다. 초기화 블록 init 메서드를 두어 객체를 원하는 상태로 설정해주는 초기화 블록을 정의 할 수 있다. 서브스크립트 속성값에 접근할 수 있는 방법을 제공하는 서브스크립트를 정의 할 수 있다. ex : get , set 확장 객체에 함수적 기능을 추가하는 확장(extends) 구문을 사용할 수 있다. 프로토콜 특정 형식의 함수적 표준을 제공하기 위한 프로토콜을 구현할 수 있다. 클래스와 구조체의 차이점 외형상 비슷한 점은 많지만 객체가 구조체보다 더욱 많은 기능 범위를 가지고 있..
클로져란 ? 보통 다른 프로그래밍 언어를 배울 때 Closure를 의미하는 것은 함수가 스코프가 유지 되었을 경우, 함수 내부에 있는 변수는 메모리에서 해제 되지 않는 것 을 의미하는데, 이는 소프트웨어 아키텍쳐 적인 의미의 클로져이다. swift에서의 클로져는 익명 함수 를 의미 합니다. 익명함수는 재사용 할 가능성이 적어 특정 코드 부분에서만 사용 되는 코드 집합으로, 콜백 패턴과 더불어 사용해서 함수 내부에 필요한 시기에 코드를 실행 할 수 있다는 장점이 존재합니다. 스위프트에는 다음과 같은 3개의 클로저 객체가 존재합니다. 전역 함수 이름이 있으며 주변 환경에서 캡처할 어떤 값도 없는 클로저 중첩 함수 이름이 있으며 자신을 둘러싼 함수로부터 값을 캡처할 수 있는 클로저 클로저 표현식 이름이 없으며..