어댑터 패턴


Adapter Pattern
(적응자 패턴)

구조 패턴 (Structural)

서로 인터페이스가 달라 연결될 수 없는 객체나 메소드들을
중간에서 변환을 통해 연결해주는 패턴

// int를 받아 int로 반환하는 객체
public class Math {
    public static int halfOf(int num) {
        return num/2;
    }
}

...

// String - int 어댑터
public class StrToIntNumAdapter implements NumAdapter {
    @Override
    public int convert(String num) {
        System.out.print("log도 가능 ");
        return Integer.parseInt(num);
    }
}

...

// String형태의 숫자를 반으로 나눠야 하는 객체
public class Print {
    public void printNum {
        NumAdapter numAdapter = new StrToIntNumAdapter();
        String num = "44";
        System.out.println(Math.halfOf(num));  
        // 에러
        System.out.println(Math.halfOf(numAdapter.convert(num)));  
        // log도 가능 22
    }
}

댓글남기기