
스터디 그룹원 분들과 이야기를 하는 도중에 나온 주제에 대한 고찰을 진행해보고자 한다.문제 상황우선 문제 상황은 아래와 같다.추상화를 해놓고 다시 구체화? 이게 뭔가 이상하다. 프로토콜(혹은 상속으로)로 특정 객체가 프로토콜을 채택하게 하는 목적이 뭔가?달리 해석하면, 추상화를 왜 하는 걸까?아래의 원인이 가장 클 것 같다.코드의 간결성타입 안정성확장성 위와 같은 기대효과 때문에 우리는 객체 간 의존성이 생기는 경우에도 인터페이스를 통해→ 이를 달성하기 위해서 추상화를 통해 런타임 의존성을 가지도록 한다. “개방 폐쇠 원칙을 준수하도록 의존성 전이를 최소화” 하려고 노력한다. 그런데..! 막상 다른 곳에서 타입을 통한 분기처리 등, 여러가지 상황에서 우리는 타입캐스팅을 통해 해당 객체가 어떤 구체 타..