클래스: 상세한 설계도 인터페이스: 대충 설계도 기능의 표준화를 만들기 위한 거 그니까 출금 기능이 있다고 하자. 달러로 출금할 때랑 청약에서 출금할때랑 그냥 출금할 때 다 다를 것이다. 메소드는 하나인데 기능이 분화되기 때문에 인스턴스로 대강의 기능만 이야기하고 각각의 클래스에서 상세하게 정의하면 된다. 그럼 출금의 기능을 인터페이스로 이와 같이 구현했다고 치자 public interface Withrawable { void withdraw(); } 그러면 이제 구현하고자 하는 곳에서 implements Withrawable 라고 작성하면 사용할 수 있다. 그러나 사용할 때는 접근제어자를 붙여야한다. public, private 같은 거 말이다. 안그러면 오류난다.