[Java] 추상 클래스와 인터페이스
·
Java
개인적으로 추상 클래스와 인터페이스가 비슷한 개념이라고 생각해 헷갈릴 때가 많았는데 이번에 두 클래스의 차이점에 대해 공부해 보자. 추상 클래스 추상 클래스는 인스턴스화할 수 없는 클래스로 다른 클래스에 의해 구현이 되도록 설계된 클래스이다. abstract 키워드로 선언해야 하며, 추상 클래스에는 구현체가 존재하지 않는 추상 메서드가 하나 이상 포함이 되어야 한다. 그렇다고 추상 클래스에는 추상 메서드만 존재하는 것이 아니라 일반적인 메서드, 생성자, 필드를 가질 수 있다. 추상 메서드는 메서드가 선언이 되었지만 구현이 없는 메서드이다. 추상 클래스의 하위 클래스는 추상 클래스 안에 있는 모든 추상 메서드를 구현해야 한다는 특징이 있다. 추상 클래스의 예시 코드를 살펴보자. 추상 클래스 Animal p..