🔎 자바 클래스간의 상속에서는 하나의 부모만 존재할 수 있기 때문에, 앞의 상황에서 요구하는 다중 상속의 구현은 불가능하다.
🔎 완벽한 추상화를 구현하기 위한 java Class의 한 종류
🔎 다중 상속이 가능하기 때문에 용도별로 세분화하여 필요한 요소만 상속할 수 있다.
<추상클래스>
🔎 멤버변수, 생성자, 메서드, 추상메서드를 포함할 수 있다.
🔎 이 클래스를 상속받는 자식 클래스는 다른 클래스를 상속 받을 수 없다.
🔎 객체의 생성이 불가능하다.
<인터페이스>
🔎 추상 메서드만 포함할 수 있다.
🔎 인터페이스는 다중 상속이 가능하다.
🔎 객체의 생성이 불가능하다.
🔎 implements 장점은 부모클래스의 메서드를 반드시 Override 해야하지만, 한 가지의 클래스만 상속할 수 있는 'extends'와는 다르게 여러 개의 클래스를 상속받을 수 있다.
-> 인터페이스 파일을 만들었을 때 위와 같이 자바 프로젝트에 'I'라고 기재된다.
🔎 다음과 같은 다이어그램 설계를 통해 다중 상속이 가능하다는 점을 이용해 소스를 작성해본다.
<인터페이스>
기본적으로 인터페이스에 추가되는 모든 메서드는 추상메서드이기 때문에, 'abstract' 키워드를 명시할 필요가 없다
<클래스>
<메인 & 출력값>