profile
개발자 만들기
post-thumbnail

[TIL]0822_swift Initializer(생성자)

Class Initializer(생성자) 부모, 자식 클래스 형태가 같음 상속된 자식클래스는 부모와 다른 생성자로 만들 수 있다. Inheritance(상속) 상속된 자식 클래스의 경우에도 생성시점에는 자신이 갖고 있는 property뿐만 아니라 부모의 property 값도 설정해줘야 한다 SubClass ▶️ SuperClass 2-phase Initialization(클래스 생성시 2가지 단계) 안지킬 시 원하는대로 동작 ❌, 버그 발생 Phase 1(자식 class property부터 initialization) Phase 1이 끝나기 전까지 어떤 property나 method를 쓸 수 없음 Person ◀️ Student ◀️ StudentAthlete(◀️super.init(...), self.sports=...) Phase 2 부모 class의 property를 다 세팅하고 나서(phas

2021년 8월 22일
·
0개의 댓글
·
post-thumbnail

[TIL]0819_swift Struct, Class, 상속

Struct Struct 사용하는 경우 보통 Struct를 사용하는 경우는 3가지 경우로 나눠서 볼 수 있다. 두 object를 '같다, 다르다'로 비교해야 하는 경우 데이터 자체를 비교해야하는 경우 사용한다. Copy된 각 객체들이 독립적인 상태를 가져야 하는 경우 각 객체가 다른 상태로 관리되어야 하는 경우 사용된다. 코드에서 오브젝트의 데이터를 여러 스레드 걸쳐 사용할 경우 상대적으로 여러 스레드에 걸쳐 사용할 때 한전하게 쓸 수 있어 value타입으로 사용한다. Class Class 사용하는 경우 두 object의 인스턴스 자체가 같음을 확인해야 할 때 하나의 객체가 필요하고, 여러 대상에 의해 접근되고 변경이 필요한 경우 일단 Struct로 쓰자 왜냐하면 Struct > Class로 바꾸는 것이 용이하기 때문에 되도록 Struct로 쓰는 것을 추천! 상속 상속의

2021년 8월 19일
·
0개의 댓글
·
post-thumbnail

[TIL]0729_swift Closure

Closure ❗️정확하지 않을 수 있음 기능을 수행하는 코드블록의 특별한 타입 함수는 Closure의 한가지 타입 Closure는 크게 3가지 타입 Global 함수 Nested 함수 Closure Expressions 함수처럼 기능을 수행하는 코드블록 함수와 다르게 이름이 없다 함수와 공통점과 차이점 💡Function(Global) ✔️이름이 있다 ✔️func 키워드 필요 💡Closure ✔️이름 없다 ✔️func 키워드 필요 없음 ⭐️공통점 ✔️인자 받을 수 있다. ✔️값 리턴할 수 있다. ✔️변수로 할당할 수 있다. ✔️First Class Type이다. First Class Type 변수 할당⭕ 인자 받을 수⭕ 리턴⭕ Closure가 쓰이는 유형 Completion Block

2021년 7월 29일
·
0개의 댓글
·
post-thumbnail

[TIL]0728_swift 옵셔널(2)

옵셔널 바인딩(Optional Binding) 옵셔널 바인딩은 옵셔널에 값이 있는지 확인할 때 사용 옵셔널에 값이 있을 경우: 옵셔널에서 추출한 값을 일정한 블록 안에서 사용할 수 있는 상수, 변수로 할당하여 옵셔널이 아닌 형태로 사용하게 해준다. if, while 등과 결합하여 사용 옵셔널 바인딩 예제 💡옵셔널 바인딩을 통해 한 번에 여러 옵셔넣의 값을 추출할 수 있는데 쉼표(,)를 사용하여 바인딩 할 옵셔널을 나열하면 된다. (옵셔널 중 값이 하나라도 없다면 해당 블록 내부의 명령어 실행❌) 옵셔널 바인딩의 값이 0, Boolean 조건이 false일때 전체 if문의 조건은 false로 간주된다. 암시적 추출 옵셔널(Implicity Unwrapped Optionals) nil을 할당하고 싶거나 옵셔널 바인딩으로 매번 값 추출이 번거로울 경우, nil로 인해 런타임 오류가 발생하지

2021년 7월 28일
·
0개의 댓글
·
post-thumbnail

[TIL]0727_swift 옵셔널(1)

옵셔널(Optionals) 옵셔널은 어떠한 값이 있을 수도 없을 수도 있다는 것을 나타낸다. 옵셔널 변수, 상수 등은 데이터 타입 뒤에 물음표(?) 붙여 표현 💡즉 변수,상수의 값이 nil일 수도 있다. Swift에서는 String 타입을 Int타입으로 변환하기 위한 Int 메서드를 가진다. 하지만 모든 문자형이 정수형으로 변환❌ "123" ⇒ 123 but, "Hello World" ⇒ 분명한 값으로 변환❌ toInt메서드가 안되는 것으로 보아, Int 가 아닌 Optional Int 값을 리턴하고 있다. Optional Int는 Int가 아닌 Int?로 쓴다. ?는 그 값이 optional하다는 것을 의미 어떠한 Int값을 가지거나 아예 전혀 값을 가지지 않는 다는 것을 의미 Int값을 가지거나 값이 없을 수 있다. nil 옵셔널 변수의 값을 없는 상태로 만들어준다.(옵셔널이

2021년 7월 27일
·
0개의 댓글
·