- Type of methods: Interface can have only abstract methods. An abstract class can have abstract and non-abstract methods. From Java 8, it can have default and static methods also.
- Final Variables: Variables declared in a Java interface are by default final. An abstract class may contain non-final variables.
- Type of variables: Abstract class can have final, non-final, static and non-static variables. The interface has only static and final variables.
- Implementation: Abstract class can provide the implementation of the interface. Interface can’t provide the implementation of an abstract class.
- Inheritance vs Abstraction: A Java interface can be implemented using the keyword “implements” and an abstract class can be extended using the keyword “extends”.
- Multiple implementations: An interface can extend another Java interface only, an abstract class can extend another Java class and implement multiple Java interfaces.
- Accessibility of Data Members: Members of a Java interface are public by default. A Java abstract class can have class members like private, protected, etc.
- 인터페이스는 추상 메소드만 가능하고 추상클래스는 추상메소드와 추상메소드가 아닌 메소드 둘 다 가능합니다.
- 인터페이스 변수는 기본이 Final, 추상클래스는 Final 아닌것도 가능합니다.
- 변수에 대해 static, final 설정이 다름. 인터페이스는 static과 final 변수만 갖을 수 있습니다.
- 추상 클래스는 인터페이스를 구현할 수 있습니다.
- 추상 클래스는 다른 Java 클래스를 확장하고 여러 Java인터페이스를 구현할 수 있습니다.
- 추상 클래스는 private, protected와 같은 클래스 멤버를 가질 수 있습니다.
'Study > Today i learned' 카테고리의 다른 글
AWSOME DAY Online Conference 참여 후기 (0) | 2022.06.09 |
---|---|
Lambda, DynamoDB 를 사용한 User Create API 구축. (0) | 2022.06.03 |
@RequestBody / @ResponseBody 정리 (0) | 2022.03.03 |
22.01.28 JavaScript _ Callback 함수 (0) | 2022.01.28 |
22.01.28 JavaScript _ Callback 함수 (0) | 2022.01.28 |