코딩 테스트 준비를 하고 있는데, 자바의 기본 개념에 대해 많이 잊은 것 같다... 그래서 이전에 네이버클라우드 캠프에서 받은 책 내용을 가지고 다시 하룻동안 공부하는 시간을 갖고 있다.
여기다 기록도 남길겸 적어보자.
먼저 공통점에 대해서 알아보자.
다형성(Polymorphism)을 구현할 때 사용하는 클래스이다. 우리가 잘 알고 있는 오버라이딩과 오버로딩이 바로 다형성이다.
상속을 통해 확장될 수 있는 클래스이다. 또한 한 클래스가 상속을 받았다고, 다른 클래스가 상속을 받을 수 없지 않다.
다음은 차이점이다.
// 첫 번째 예시 : 다중 상속 가능
public interface Car {
...
}
public interface Car2 {
...
}
public class Car3 extends Car, Car2{...}
// 두 번째 예시 : 다중 구현 가능
public class car3 implements Car, Car2{...}
그러나, Abstract 클래스는 다중 상속을 지원하지 않는다. 대신, protected나 static 메소드를 사용할 수 있는 차이가 존재한다.