추상개념
추상 메소드 : 메소드의 바디를 구현하지 않고 abstract로 선언된 메소드 ((선언부만 있고, 실질 구현부는 없음))
추상 클래스 : 추상 메소드를 하나라도 가지고 있는 클래스를 의미. abstract로 선언해야함
인터페이스 개념
- 추상 메소드만 갖는 객체이며, 선언되는 메소드 모두 public abstract로 인식 ((class가 interface로 만들면 굳이 public static final String str = "abc.." 이렇게 선언할 필요없이 String STR = "abc"))
- 인터페이스에 선언된 모든 변수는 public static final로 인식됨
- default 메소드는 인터페이스를 상속하는 모든 클래스에서 공통으로 갖는 기능을 구현
- static 메소드는 프로그램 시작 시 사용준비가 완료되는 메소드
- 인터레이스를 상속할 때는 implements키워드 사용
- 다중 상속 가능 ((extends는 오직 하나만 상속가능))