iOS 캠프 TIL - 2020.11.12 목

Updated:

iOS 스타터 캠프 TIL #7 - 2020.11.12 목요일

학습내용

타입설계 활동학습

실생활에서 볼 수 있는 제품들을 분석하고 일반화하여 특성을 프로퍼티로, 행위를 메서드로 정의해보며 객체지향에 대해 알아보는 시간이었다.

일반화는 여러 개체들의 공통점을 찾는 것이다. 세탁기는 크게 두가지가 있다. 통돌이, 드럼 세탁기. 하지만 두 세탁기의 주 목적은 “세탁”이며 세탁 코스는 모든 세탁기에 공통적으로 들어가므로 “세탁하기”는 모든 세탁기의 공통점이다.

추상화는 복잡한 것에서 필요한 점만 추출하는 것이다. 세탁기의 세탁 과정은 세부적으로 보면 물 채우기, 통 돌리기, 물 빼기…등 여러 과정으로 세분화 되지만, 사용자 입장에서는 알 필요가 없다. 그저 세탁한다는 것만 알면 될 뿐이다.

객체지향 프로그래밍에서 일반화와 추상화는 중요한 개념이다. 버튼을 만들 때 마다 새로 구현을 해주어야 한다면 시간과 노력이 많이 들것이다. 하지만 iOS에서는 이미 만들어진 UIButton을 이용하면 대부분의 버튼은 간단히 만들어지며, 여기에 구현되지 않은 새로운 기능을 추가하고자 하면 extension하거나 상속받아 구현하면 될 것이다.

Leave a comment