![[5분 자바] 추상메서드는 무엇이고, 인터페이스와 추상클래스의 차이점은? #3](https://i.ytimg.com/vi/ZXV4XxKFK1A/hqdefault.jpg)
콘텐츠
주요 차이점
추상 클래스와 인터페이스의 주요 차이점은 Java 인터페이스의 절차는 본질적으로 추상이며 응용 프로그램을 가질 수 없다는 것입니다. 광범위하게 말하면 인터페이스는 실제로 계약이며 인터페이스에 대해 이야기 할 때 메서드에는 본문이 없으며 패턴 일뿐입니다. 추상 클래스는 기본적으로 사용하기에 비싼 클래스입니다. 추상 클래스와 인터페이스는 완전히 다른 개념입니다. 이것들은 서로 다른 두 가지이지만 구현은 매우 비슷합니다.
추상 클래스는 무엇입니까?
프로그래머가 추상 클래스를 완전히 암시하지는 않습니다. 추상 클래스는 하나 이상의 추상 메소드를 가질 수 있습니다. 클래스 그룹화 또는 순위를 모델링하는 데 유용하며이를 수행하는 동안 프로그래머는 요구 사항을 확인한 후 빌드해야 할 사항에 대한 아이디어를 얻습니다. 추상 클래스는 일부가 없기 때문에 완전히 신뢰할 수 없습니다. 이 주장의 주요 요점은 추상 클래스는 엄밀히 객체 지향이지만 메소드 제목은 있지만 본문은 없습니다. 우리가 추상 클래스에 대해 이야기 할 때, 두 클래스 사이에는 강한 연관성이 있습니다. 왜냐하면 이들 클래스는 서로 얻거나 상속받는 경향이 있기 때문입니다.
인터페이스 란?
우리가 인터페이스에 관해 이야기 할 때, 인터페이스 자체와 인터페이스를 암시하는 클래스 사이의 관계 또는 통신은 추상 클래스만큼 강하지 않습니다. Java 클래스는 많은 인터페이스를 구현할 수 있지만 단일 추상 클래스에서 상속 할 수 있습니다. 즉, 한 번에 많은 상호 작용을 암시하려면 인터페이스가 필요합니다. 이 전체 시나리오와는 별도로 API가 한동안 변경되는 것을 원하지 않는 경우에도 인터페이스가 가장 적합합니다. 인터페이스는 실제로 두 개의 서로 다른 객체 사이의 계약입니다. 요약하자면 인터페이스는 기능을 중심으로 진행됩니다.
주요 차이점
- 인터페이스가 함수 지향적 인 동안 추상 클래스는 객체 지향적입니다.
- API를 일정하게 유지하려면 추상 클래스보다 인터페이스를 선택하십시오.
- 여러 인터페이스를 암시하여 여러 상속을 얻을 수 있습니다. 추상 클래스에서는 여러 상속을 얻을 수 없습니다.
- 나중에 분위기가 있다면 작업에 메소드를 추가해야하며 인터페이스가 아닌 추상 클래스가 선택됩니다.
- 추상 클래스는 공통 기본 클래스 응용 프로그램을 제공하지만 인터페이스에서는 그러한 일이 발생하지 않습니다.
- 인터페이스에서 구현하는 모든 메소드는 공용이지만 추상 클래스에서는 일부 비 공용 메소드를 적용 할 수도 있습니다.
- 생성자는 인터페이스에 없지만 추상 클래스에서 발생합니다.
- 추상 클래스의 완전한 멤버는 정적 일 수 있지만 인터페이스는 아닙니다.