인터페이스란? 클래스들이 구현해야 하는 동작을을 강제한다. 추상화클래스에서 추상메서드로 구현한것은 상속받은 클래스가 무조건 오버라이딩 해야했던 것처럼 인터페이스가 가진 모든 메서드는 구현받은 클래스가 모두 구현해야한다. 즉, 그 안의 모든 메서드를 전부 복붙해서 가져와야 한다는것이다. 인터페이스는 기능의 틀을 짜놓고 가져아서 구현하게 하는 것에 목적이 있기때문에 외부에서 잘 가져갈 수있도록 인터페이스의 멤버는 public 접근제한자만 쓴다. (default, static제외) 인터페이스는 정말 강력한 규제다. 추상화는 추상메서드만 가져오면 됐지만, 인터페이스는 모두, 하나도 남김없이 다 가져와서 구현해야한다. 그런데 자바 8부터는 강력한 규제가 완화됐다. 자바 8부터 달라진 interface 이전에는 인..