내부의 모든 필드가 public static final 로 정의되고, static 과
default 메소드 이외의 모든 메소드는 public abstract 로 정의된
객체지향 프로그래밍의 요소 이다.
그리고 class 라는 키워드 대신 interface 키워드를 사용해 선언한다!!

interface Person {
public static final int p = 3;
public abstract void pp();
}

클래스가 클래스를 상속할 때는 extends 키워드를 사용했지만, 클래스가 인터페이스를 상속할 때에는 implements 키워드를 사용한다!
상속에 있어서 인터페이스의 가장 큰 특징은 다중상속이 가능하다는 점이다.
( 1개의 클래스가 여러 개의 인터페이스를 상속할 때에는 쉼표(,) 로 구분하여 나열하면 된다.

클래스에서는 두 부모 클래스에 동일한 이름의 필드,메소드가 존재할 때 이를 내려
받게 되면 충돌이 발생하기 때문에 다중상속이 불가능했었지만,
인터페이스에서는 모든 필드가 public static final 로 정의 되어 있어서 실제
데이터값은 각각의 인터페이스 내부에 저장공간이 분리가 되어 있어 공간상 겹치지
않아 인터페이스에서는 다중상속이 가능하다!!!

