반응형
Adapter 패턴은 이미 존재하는 클래스나 모듈의 인터페이스가 현재 코드와 맞지 않을 때 중간 변환 계층을 두는 설계 패턴이다.
언제 쓰는가
- 외부 라이브러리의 메서드 이름이나 입력 형식이 내부 코드와 다를 때 사용할 수 있다.
- 기존 코드를 크게 바꾸지 않고 새 구현을 연결해야 할 때 유용하다.
- 테스트용 가짜 구현을 실제 구현과 같은 인터페이스로 맞출 때도 도움이 된다.
구조
- Client는 기대하는 Target 인터페이스만 바라본다.
- Adapter는 Target 인터페이스를 구현하면서 내부적으로 Adaptee를 호출한다.
- Adaptee는 원래 존재하던 클래스나 외부 API 역할을 한다.
장단점
- 호환되지 않는 코드 사이의 결합을 줄일 수 있다.
- 변환 로직이 Adapter에 모여 변경 영향 범위가 작아진다.
- Adapter가 너무 많아지면 구조가 복잡해질 수 있으므로 경계를 명확히 해야 한다.
읽을 때 확인할 점
Adapter 패턴 개념: 서로 다른 인터페이스를 연결하는 방법를 볼 때는 먼저 용어의 정의와 적용 조건을 분리해서 보는 것이 좋다. 같은 표현이라도 개발 환경, 데이터 형태, 사용 목적에 따라 실제 의미가 달라질 수 있기 때문이다.
- 지금 해결하려는 문제가 개념 이해인지, 구현 적용인지, 결과 해석인지 먼저 나눈다.
- 예제의 전제 조건이 내 상황과 같은지 확인한 뒤 필요한 부분만 가져온다.
- 결과가 기대와 다르면 입력, 설정, 경계 조건을 순서대로 좁혀서 확인한다.
적용 체크리스트
- 핵심 용어를 한 문장으로 설명할 수 있는지 확인한다.
- 작은 예제나 샘플 데이터로 동작을 먼저 검증한다.
- 실제 적용 전에는 입력 조건, 예외 케이스, 결과 해석 기준을 따로 적어 둔다.
함께 보면 좋은 글
- Python super()와 MRO: 상속 호출 순서 이해하기
- Python 디스크립터 이해하기: __get__, __set__, 속성 접근 제어
- Visual Studio 기본 사용법: 프로젝트와 소스 폴더 관리
마무리
Adapter 패턴 개념: 서로 다른 인터페이스를 연결하는 방법는 개념 자체보다 적용 상황과 한계를 함께 보는 것이 중요하다. 작은 예제로 동작을 확인하고, 실제 환경에서는 입력 조건과 예외 케이스를 따로 점검하는 습관을 두면 시행착오를 줄일 수 있다.
반응형
'tistory' 카테고리의 다른 글
| 저탄수화물 다이어트 개념 정리: 원리와 주의할 점 (0) | 2026.05.31 |
|---|---|
| Android Fullscreen Mode 전환 방법: ActionBar와 레이아웃 처리 (0) | 2026.05.31 |
| 블로그 운영 플랫폼 비교: 워드프레스와 티스토리 선택 기준 (0) | 2026.05.31 |
| 자전거 펌프 밸브 종류: 던롭, 프레스타, 슈레더 차이 (0) | 2026.05.31 |
| 특징 추출 개념: 모델 입력을 만드는 방법 (0) | 2026.05.31 |
