인터페이스
역할 : 두 객체를 연결해주는 다리 역할을 해준다.
인터페이스는 스팩이 정의된 매서드들의 집합이다.
인터페이스의 구현 클래스들은 반드시 정의된 메서들을 구현해야합니다.
구현 클래스들의 동일한 사용 방법과 행위를 보장해 줄 수 있습니다.
인터페이스에 다형성을 적용할 수 있게 만들어 줌
인터페이스간 상속이 가능하다. 다중 상속도 가능

다형성

다형성의 예제 정의가 된 코드 처음 부모 인터페이스로부터 정의 된 객체를 생성을 해주고
이후 상속 받은 순서대로 타입변환 가능하다.


다형성은 여러가지 형태를 가질 수 있는 능력이다.
polymorphism = 그리스어 poly=many, morph="from"
객체를 하나의 타입보다 많이 식별을 할 수 있는 능력
추상 클래스(is kind of), 인터페이스(be able to)
추상 클래스의 선언
public abstract class 클래스이름 {
public abstract void 메서드이름();
}
추상메서드를 선언하여서 상속을 통해 하위 클래스에서 상속을 받고 구현을 하도록 한다.
인터페이스와 상당히 유사하다.
abstract로 선언된 추상 클래스는 상속을 위한 클래스이기 때문에 new 키워드를 통해 직접 객체를 생성할 수 없다는 것이 특징이다.
추상 메서드
상속을 받는 클래스에 따라서 내용이 달라진다.
추상클래스는 public protected private 접근제어자를 사용이 가능하다.
인터페이스는 상수와 추상 메서드의 집합이다. 인터페이스는 다중 상속이 가능하다.
추상 클래스와 인터페이스는 상속받은 클래스가 반드시 선언된 추상 메서드를 구현하도록 한다.