extends ( 확장 ) : 다른 클래스나 인터페이스를 상속받아 사용, 확장함
implements ( 재정의 ) : 클래스가 인터페이스를 구현함, 추상 메서드 실제 구현
상속)
부모 클래스 - 자식 클래스
동물 클래스 - 개 클래스, 고양이 클래스, ...
자식 클래스는 부모 클래스의 속성과 필드를 물려받는다.
자식 클래스는 부모 클래스의 메서드를 물려받고 그대로 사용하거나, 활용할 수 있다. (선택적으로)
추상화)
인터페이스 - 인터페이스를 구현하는 구현체 클래스들
growl 추상 메서드 - 개 클래스, 고양이 클래스, ...
인터페이스 내의 추상 메서드는 선언부만 갖는다.
구현체 클래스들은 공통된 성질(속성, 메서드)을 갖는다.
(이 공통된 성질을 추출하여 인터페이스로 정의한다.)
구현체 클래스들은 인터페이스에 선언된 메서드를 필수적으로 구현해야 한다.