# Java Adapter Design Pattern
# Java Adapter Design Pattern
by jihoon kim
HTML
<style>
.MJXp-math.MJXp-display {
display:inline !important;
}
</style>
<div id="contents">
#### 원본
https://examples.javacodegeeks.com/core-java/java-adapter-design-pattern-example/
# 디자인 패턴의 범주
객체 생성 패턴(Creational design patterns) : 객체의 인스턴스 생성을 관리하기 위해 정의 된 디자인 패턴
구조 디자인 패턴(Structural design patterns) : 클래스를 사용하여 구조를 작성하여 코딩을 단순화하고 관리하기 쉽게 정의 된 디자인 패턴
행동 설계 패턴(Behavioural design patterns) : 서로 다른 객체 간의 상호 작용을 관리하기 위해 정의 된 설계 패턴.
# Adapter Design Pattern
- 전기 전압을 다른 전압으로 변환하는 개념에서 기반됨.

Client == 전기<br/>
Adapter == 전압변환을 제공<br/>
Adaptee == 소켓
# 구현 개념
- 기본 객체를 함수의 입력으로 사용하고,
--> 객체의 변형을 반환하는 클래스를 만듭니다.
--> 클라이언트는 필요에 따라 엔티티를 수정할 수 있는 유연성을 얻습니다.
# 어댑터 디자인 패턴의 유형
1. 클래스 어댑터 디자인 패턴 : 소켓 클래스 확장
2. 객체 어댑터 디자인 패턴 : 어댑터 인터페이스 구현, 소켓 클래스 객체 사용
## 클래스 어댑터 디자인 패턴
#### Flour.java
- 전기 공급단계 크기(weight), 가격(price)를 가진다.
```java
package com.javacodegeeks.abk;
public class Flour {
int weight;
float price;
public Flour(){
}
public Flour(int weight,float price) {
this.weight = weight;
this.price = price;
}
public int getWeight() {
return weight;
}
public void setWeight(int weight) {
this.weight = weight;
}
public float getPrice() {
return price;
}
public void setPrice(float price) {
this.price = price;
}
}
```
#### FlourItem.java
- 객체를 가져옮 : Flour 클래스를 기본값으로 이용함.
```java
package com.javacodegeeks.abk;
public class FlourItem {
public Flour getFlourItem() {
return new Flour(10,1000);
}
}
```
#### FlourInterface.java
- 기본 객체를 제공하는 소켓 클래스 FlourItem을 확장함.
```java
package com.javacodegeeks.abk;
public interface FlourItemInterface {
public Flour getQuintal();
public Flour get10kg();
public Flour get1kg();
}
```
#### FlourItemImplementor.java
- 어댑터의 구현.
```java
package com.javacodegeeks.abk;
public class FlourItemImplementor extends FlourItem implements FlourItemInterface...