iOS 시스템 디자인객관식심화센드버드커뮤니티 전언출처 zighang.com ↗클라이언트 SDK 설계채팅·통화 기능을 제공하는 iOS 클라이언트 SDK를 다른 회사 앱들이 통합하기 쉽게 설계하려고 합니다. 통합 난이도를 낮추고 안정성을 높이는 설계 원칙으로 옳은 것을 모두 고르세요.복수 선택 가능1보기 1.공개 API는 작고 안정적으로 유지하고 내부 타입은 모듈 접근 제어로 감추며, 의미 있는 시맨틱 버전과 deprecation 기간을 둔다2보기 2.콜백은 어느 스레드에서 올지 문서화하거나 메인 스레드로 통일하고, async/await·Combine 등 호스트 앱이 선택할 수 있는 어댑터를 제공한다3보기 3.SDK가 필요한 서드파티 라이브러리(네트워킹·이미지·DB)를 그대로 공개 의존성으로 요구해 호스트 앱이 같은 버전을 쓰게 한다4보기 4.네트워크 연결·재연결·토큰 갱신 같은 수명주기를 SDK가 내부에서 처리하고 호스트 앱은 상태 변화만 구독하게 한다5보기 5.UI 컴포넌트(채팅 화면)는 코어 SDK와 같은 모듈에 두어 항상 함께 배포되게 한다채점하기