Skip to content

Latest commit

 

History

History
44 lines (35 loc) · 1.26 KB

Design Pattern_Adapter.md

File metadata and controls

44 lines (35 loc) · 1.26 KB

Design Pattern - Adapter Pattern


[어댑터 패턴]

국가별 사용하는 전압이 달라서 220v를 110v형으로 바꿔서 끼우는 경우를 생각해보기.

  • 실행 부분 (Main.java)

    public class Main {
        public static void main (String[] args) {
            MediaPlayer player = new MP3();
            player.play("file.mp3");
            
            // MediaPlayer로 실행 못하는 MP4가 있음.
            // 이것을 mp3처럼 실행시키기 위해서,
            // Adapter를 생성하기.
            player = new FormatAdapter(new MP4());
            player.play("file.mp4");
        }
    }
  • 변환 장치 부분 (FormatAdapter.java)

    // MediaPlayer의 기능을 활용하기 위해 FormatAdapter라는 새로운 클래스를 생성
    // 그리고 그 클래스 내부에 (MP4, MKV와 같은) 클래스를 정리하려고 함.
    public class FormatAdapter implements MediaPlayer {
        private MediaPackage media;
        public FormatAdapter(MediaPackage m) {
            media = m;
        }
        // 그리고 반드시 사용해야하는 클래스의 함수를 선언해 둠
        @Override
        public void play(String filename) {
            System.out.print("Using Adapter");
            media.playFile(filename);
        }
    }