eajni IT 초보사전 💦💦

(DesignPattern) Adapter


타입 및 메서드 등의 호환성이 없는 객체 간 인터페이스를 이용해 적절히 가공해 작동하게 해주는 패턴

public class Calc{
	public static double multiply(double num){
		return num * 2;
	}
	public static double divide(double num){
		return num / 2; 
	}
}

Adapter

public interface Adapter{

	//float으로 타입 변환해 호환
	
	public Float multiply(Float f);
	public Float divide(Float f);
}

AdapterImpl

public class AdapterImpl implements Adapter{
	@Override
	public Float multiply(Float f){
		return (float) Calc.multiply(f.doubleValue())
	}
	
	@Override
	public Float divide(Float f){
		return (float) Calc.divide(f.doubleValue())
	}
}

Main

public class Main{
	public static void main(String[] args){
		Adapter adapter = new AdapterImpl();
		System.out.println(adapter.multiply(100f)); //200.0
		System.out.println(adapter.divide(100f)); //50.0
	}
}

Comments

Content