상속 2

Swift Mixin and Trait

Swift Mixin and Trait iOS 프로그래밍에서 주로 사용되는 언어는 Swift로 다중 상속을 지원하지 않음.Swift에서는 인터페이스(Interface)를 프로토콜(protocol)로 사용하고 있어서 프로토콜이라는 용어와 인터페이스의 의미는 같음. 목차배경mixin이란?interface(protocol), mixin, trait예제를 통해 알아보기 1예제를 통해 알아보기 2예제를 통해 알아보기 3swift 다중 상속 컴파일 오류몇가지 실험들둘 다 채택한 경우명시적 캐스팅배경객체지향 프로그래밍에서 상속의 사용은 코드의 결합도를 크게 증가시킴. 이로 인하여 많은 문제점들이 발생.상속을 코드 중복을 해결하기 위한 수단으로 사용하면 안됨.상속은 부모와 자식간의 높은 결합도를 가지게 되어 코드의 ..

오브젝트: 코드로 이해하는 객체지향 설계 4장을 읽으며

오브젝트: 코드로 이해하는 객체지향 설계 4장을 읽으며 느낀점리플 이펙트와 강한 결합도의 문제를 다룬 코드 예제가 큰 인상으로 남음. 강한 결합도가 있을 때, 하나의 코드 변경이 시스템 전체에 걸쳐 어떤 파급 효과를 일으킬 수 있는지 직접 예제를 통해 보면서, 결합도를 낮추는 것에 대해서 고민하게 되었음. 코드의 유연성이 떨어지고, 작은 수정에도 많은 부분이 연쇄적으로 영향을 받는다는 점에서 코드의 유지보수성에 큰 장애물이 된다는 걸 체감. enum으로 값을 정의하는 코드들이 정의 케이스가 바뀌면서 외부에서 대응해주는 것들이 많았는데 이게 강한 결합도와 리플 이펙트 영역과 예시가 많이 닮아 있어서 좋은 인사이트가 되었다! 설계 품질과 트레이드오프객체지향 설계의 핵심은 역할, 책임, 협력임. 협력: 기능을..