Cute Running Puppy

코딩공부 2

# 자바 디자인 패턴 입문 - Adapter 패턴 쉽게 이해하기

Adapter 패턴이란?인터페이스가 맞지 않는 두 객체 사이를 중간에서 “변환”해주는 패턴“변환 어댑터” 역할을 하는 클래스쉽게 말하면,내가 원하는 방식으로 기존 코드를 “감싸서” 쓰게 해주는 구조다. 왜 Adapter 패턴이 필요할까?1.기존 클래스가 너무 복잡하거나 불편할 때→ ex. Properties, InputStream, Thread 등 2.내가 원하는 메서드 이름이나 구조와 안맞을 때→ 메서드 이름 바꾸거나, 기능을 조합해서 새 인터페이스로 제공하고 싶을 때 구조 이해 (클래스 명은 예시)역할이름설명Target (타겟 인터페이스)Print클라이언트가 기대하는 인터페이스Adaptee (기존 클래스)Banner인터페이스가 맞지 않는 기존 클래스AdapterPrintBannerPrint 인터페이스..

# 자바 디자인 패턴 입문 - Iterator 패턴 쉽게 이해하기

Iterator 패턴이란?자료구조의 내부 구조를 몰라도요소를 하나씩 꺼내서 순회(iterate)할 수 있게 해주는 디자인 패턴이다. 왜 Iterator 패턴이 필요할까? 그냥 for문 쓰면 안되나??물론 가능하다. 하지만 아래 문제점이 있다:배열, 리스트, 링크드리스트 등 구조마다 for문 다르게 짜야 됨여러 자료구조를 한 번에 순회하려면 코드 중복이 생김나중에 자료구조가 바뀌면 for문도 고쳐야 함➡ 유지보수성, 확장성, 재사용성 부족 Iterator 패턴의 핵심 아이디어"요소 꺼내는 방식을 객체로 분리"→ 사용자는 next()와 hasNext()만 알면 끝!Iterator it = bookShelf.iterator();while (it.hasNext()) { Book b = (Book) it.n..