JAVA 프로그래밍에서 자주 사용되는 두 가지 개념인 '추상 클래스(abstract class)'와 '인터페이스(interface)'에 대해 알아보겠습니다. 이 두 개념은 클래스 간의 계층 구조를 설계할 때 중요한 역할을 합니다. 이 글에서는 각 개념의 정의와 사용법을 설명하고, 그 차이점을 이해하는 데 도움이 되는 예제를 제공하겠습니다. Abstract Class (추상 클래스) 추상 클래스는 상속을 통해 공통된 기능을 다양한 구현체에 전달하기 위해 사용됩니다. 추상 클래스는 완전한 구현을 가지지 않는 메서드(추상 메서드)를 포함할 수 있습니다. 사용법 abstract class Animal { abstract void makeSound(); void sleep() { System.out.println..