Replies: 2 comments 2 replies
-
추상 클래스는 추상 메서드를 가지는 클래스이며 인스턴스화 될 수 없다. 인터페이스는 메서드의 시그니처만 가질 수 있는 사용자 정의 타입이며 Java 8에서부터는 static/defualt method 정의 가능, Java 9에서부터는 private method 정의 가능 기능이 추가됐다. 추상클래스와 인터페이스는 모두 기본적으로 Java에서 추상화를 이루기 위해 사용한다.
=> A is capable B를 만족할 때 사용한다.
=> A is a B를 만족할 때 사용한다. |
Beta Was this translation helpful? Give feedback.
-
인터페이스와 추상 클래스 모두 추상화를 제공하는 방법이지만, 사용 목적과 방법에 있어 차이가 있다. 인터페이스는 모든 메서드가 추상 메서드로 구성되어 있으며, 구현 클래스에서 무조건 구현해줘야 한다. 또, 인터페이스는 다중 상속이 가능하다. 따라서 여러 인터페이스를 구현하여 한 클래스가 다양한 역할을 수행할 수 있게 유연성과 확장성을 제공한다. 추상 클래스는 추상 메서드와 일반 메서드 모두 포함할 수 있으며, 일부 기능만 구현해도 되므로 자식 클래스의 개발을 용이하게 한다. 인터페이스와 달리 클래스이므로 다중 상속은 불가능하다. 다중 상속이 필요하거나 구현 객체 간 계약을 정의할 필요가 있는 경우 인터페이스를 사용한다. 참고: https://f-lab.kr/insight/understanding-java-interfaces-and-abstract-classes?gad_source=1 |
Beta Was this translation helpful? Give feedback.
-
.
Beta Was this translation helpful? Give feedback.
All reactions