어댑터 패턴 (Adapter Pattern)
별칭: adapter pattern · 어댑터 패턴 · adapter 함수 · 어댑터 함수
외부 데이터 구조를 우리 앱이 쓰는 내부 구조로 바꿔 끼우는 설계 방식.
어댑터 패턴은 서로 다른 인터페이스를 맞춰 주는 구조다. 수업에서는 공공데이터 API의 복잡한 응답을 생활정보 보드의 PublicItem 타입으로 변환해, 화면 컴포넌트가 API 세부 구조에 의존하지 않게 만든다.
정의
어댑터 패턴은 서로 맞지 않는 인터페이스 사이에 변환 계층을 두어 기존 코드를 크게 바꾸지 않고 함께 동작하게 만드는 설계 방식이다. 전원 플러그 어댑터처럼, 한쪽의 모양을 다른 쪽이 기대하는 모양으로 바꿔 준다고 이해하면 쉽다.
왜 중요한가
외부 API의 응답 구조는 우리 앱의 화면 구조와 거의 항상 다르다. 화면 코드가 외부 API의 세부 필드 이름을 직접 알게 만들면 API를 바꿀 때마다 화면 전체를 고쳐야 한다. 어댑터를 두면 외부 응답이 바뀌어도 변환 함수만 수정하면 된다.
Semiclass에서의 의미
신호의 검 단계에서는 adaptPublicDataResponse() 같은 함수를 만들어 외부 공공데이터 응답을 PublicItem 배열로 바꾼다. 이후 화면 컴포넌트는 데이터가 샘플 JSON에서 왔는지, 공공데이터 API에서 왔는지, 사내 CSV에서 왔는지 몰라도 같은 방식으로 렌더링한다.
주의할 점
어댑터는 무작정 데이터를 복사하는 함수가 아니다. 필수 필드가 없을 때의 기본값, 잘못된 날짜·좌표 처리, 오류 응답 처리, 타입 검증을 함께 고려해야 한다. 초보자 프로젝트에서는 먼저 작은 변환 함수 하나로 시작하고, 데이터 소스가 늘 때 분리해도 충분하다.