일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Structures and Classes
- 스타트업주니어로살아남기
- 아이폰
- 책후기
- NumberFormatter
- IOS
- contentInset
- SWIFTUI
- Failed to register bundle identifier
- Mock
- 스위프트
- viewcontroller
- roundingMode
- SWIFT
- 독서후기
- Codegen
- NotificationCenter
- @available
- delegation
- UIResponder
- Modality
- 독후감
- Navigation
- 야곰아카데미
- xcode
- Info.plist
- 부트캠프
- mvvm
- human interface guidelines
- View Life Cycle
- Today
- Total
목록Book/개발 (4)
호댕의 iOS 개발

4장에서는 각 객체 간의 협력에 대해 중점으로 이야기를 한다. 종종 공식문서를 보며 문맥(Context)이라는 단어를 접할 수 있었는데, 이 책에서는 객체의 행동 방식이 협력이라는 문맥(Context)에 의해 결정이 된다고 하고 있다. 이전 장에선 객체의 행동이 상태보다 중요하다고 했다면 이번 장에서 가장 중요한 것은 객체 간 협력이라고 하고 있다. 즉, 객체를 설계할 때 중요한 것은 다음과 같다는 것이다. 협력 > 행동 > 상태 🤝 협력 협력의 본질은 요청과 응답의 연쇄적인 흐름이다. 만약 물건을 주문하고 택배로 받는 상황을 고려해보자. 여기선 손님, 상점, 택배 3개의 객체로 구성이 되어 있다. 손님이 상점에게 물건을 주문하고 택배 요청 상점은 이에 응답하여 택배에 상품 배송 요청 택배는 이에 응답하..

3장에서는 타입과 추상화의 개념에 대해 중점적으로 설명을 하고 있다. 💭 추상화 추상화의 경우 지하철 노선도의 예를 들어 설명하고 있다. 사실 지하철 노선도의 경우 실제 지형적 특징이나 거리를 반영하지 않고 단순히 다음 역이 어떤 역이고 특정 역까지 가려면 몇 정거장이 남아있는지를 보여준다. 지하철 노선도가 필요한 경우는 지형적 특징이 궁금할 때가 아니라 지하철을 타고 얼마나 이동해야할 지 확인해야 할 때이기 때문이다. 따라서 불필요한 지형적 특징은 제거하고 단순화하는 것이다. 이는 추상화에서 중요한 부분을 강조하기 위해 불필요한 세부 사항을 제거하고 단순화한 것이다. 이외에도 추상화는 사물 간 공통점을 취하고 차이점은 버리는 방식으로 이뤄질 수도 있다. 그럼 추상화는 어떻게 정의해볼 수 있을까? 일단 ..

2장에서는 객체 지향 패러다임과 객체에 대해 조금 더 자세히 이야기를 한다. 이 책의 표지에서도 토끼가 그려져 있고 책의 대부분의 예시에서도 이상한 나라의 앨리스를 예를 들고 있다. 이는 이상한 나라의 앨리스가 객체 지향 프로그래밍이 가지고 있는 오해를 가장 잘 해소시켜줄 수 있는 예시이기 때문이라고 생각한다. 이전 1장에서도 언급되었지만 이 책에선 객체 지향이 단순히 현실을 모방한 것이 아니라고 하고 있다. 각각의 객체들은 상태를 가지고 있고 이런 상태를 변경할 수 있는 행동을 통해 각각의 상태를 자율적으로 관리하게 된다. 만약 음식을 먹는다고 했을 때 음식을 먹는 사람 객체가 있고 음식 객체가 있다고 생각해보자. 실제 세계에선 음식을 먹는 사람이 있고 음식은 단순히 사람에 의해 먹히며 줄어들 뿐이지만..

보통 개발을 하면서 객체(Object)라는 말을 자주 듣게 된다. 실제 내가 사용하고 있는 Swift도 객체지향 프로그래밍 언어이기도 하고 말이다. 하지만 스스로 “그럼 객체가 정확히 뭔데?”라고 물었을 때 이를 명확히 정의하긴 어렵다고 생각했다. 물론 사전적으로 정확히 “객체는 ~다” 라고 정의하긴 어렵겠지만 스스로 객체가 뭔지 정의는 할 수 있어야 하기 때문에 다시 【객체지향의 사실과 오해】를 다시 읽게 되었다. 객체지향의 사실과 오해 - YES24 『객체지향의 사실과 오해』는 객체지향이란 무엇인가라는 원론적면서도 다소 위험한 질문에 답하기 위해 쓰여진 책이다. 안타깝게도 많은 사람들이 객체지향의 본질을 오해하고 있다. 가장 www.yes24.com 오늘부터 1장씩 읽으면서 객체, 추상화 등 어렴풋이..