## 오늘 한 일
- clouser capture에 대해 공부
- 함수와 메소드의 차이점에 대해 공부
- 객체, 클래스, 인스턴스의 차이점에 대해 공부
- pokergame-step2 완료 (enum)
- MVC 패턴 공부
- delegate와 protocol의 관계
새롭게 알게 된 것
Business Logic 이란?
- 어플이 사용자에게 서비스를 제공하기 위해 사용자의 입력을 받고, 그 받은 데이터를 저장하고, 가공해서 다시 사용자에게 보여주는 모든 과정.
Delegate Pattern이란?
데이터를 전달하거나 클래스나 구조체 간의 통신을 위해 사용된다
- 델리게이트는 프로토콜 타입으로 선언되어 있다.
- 해당 델리게이트에 채택하는 클래스/구조체가 수행해야 할 메소드가 정의되어 있다.
ViewController와 View의 상관관계
ViewController는 View의 한 종류. VC는 꼭 V를 가지고 있다.
VC에는 view: UIView!
로 선언되어 있음.
이 말은 view에 nil이 들어가면 터짐 -> VC는 View가 없으면 의미가 없음.
iOS에서 화면에 보이는 건 모두 뷰.
VC는 그걸 관장하는 역할을 하지만 뷰는 아니다.
ViewController != View
함수와 메소드의 차이
클래스, 인스턴스, 객체의 차이
- 객체
- 클래스
- 객체를 만들기 위한 설계도
- 상태(property)와 동작(method)를 가지고있음.
- 인스턴스
- 클래스를 바탕으로 구현된 실체.
- 메모리에 할당됨.
고민되는 것
- 프로토콜에 프로토콜을 채택한 클래스를 할당하는 것이 어떻게 가능한가?
- delegate pattern을 사용하는 이유가 뭐지?
내일 할 일
느낀 점
- 그동안 iOS 개발하면서, ViewController를 View와 별개의 것이라고 생각하지 않았었다. 그래서 view에 관한 이해가 늘 잘 안되었던 것 같다. 오늘 MVC 패턴에 대해 공부하며
View Controller != View
라고 확실히 개념을 잡게 되어서 뷰와 뷰컨의 역할에 대한 이해가 조금 더 생겼다.
- delegate pattern에 대해 막연하게 알고 있었는데, 오늘 예제 코드를 심도깊게 보면서 조금 더 이해할 수 있게 된 것 같다. 아직 왜 델리게이트 패턴을 사용하는가가 와닿지는 않지만, 그건 내일 좀 더 알아보도록.. 그리고 경험치가 쌓이면? 혹은 델리게이트 패턴을 사용하지 않고 만들어본다면? 왜 해당 패턴을 쓰는 지 좀 더 이해할 수 있지 않을까 싶다.
- MVC 패턴에 대한 설명 보면서 늘
비지니스 로직
이란 말을 많이 접했는데, 사실 해당 단어에 대한 명확한 개념 없이 아 그냥 그런가보다 하고 넘어왔었다. 오늘은 비즈니스 로직
이라는 명칭에 대한 개념을 확립했다