Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java에서 추상 클래스와 구체 클래스의 차이점

<시간/>

Java에서 추상화는 Abstract 클래스와 인터페이스를 사용하여 달성됩니다. 추상 클래스에는 자식 클래스인 추상 메서드가 포함되어 있습니다. 다음은 추상 클래스와 구체 클래스의 중요한 차이점입니다.

Sr. 아니요.

추상 클래스
구체적인 클래스
1
지원되는 방법
추상 클래스는 추상 메서드와 구체적인 메서드를 모두 가질 수 있습니다.
구체적인 클래스는 구체적인 메소드만 가질 수 있습니다. 단일 추상 메서드라도 클래스를 추상화합니다.
2
인스턴스화
추상 클래스는 new 키워드를 사용하여 인스턴스화할 수 없습니다.
구체적인 클래스는 new 키워드를 사용하여 인스턴스화할 수 있습니다.
3
추상 메서드
추상 클래스는 추상 메소드를 가질 수도 있고 없을 수도 있습니다.
구체 클래스는 추상 메소드를 가질 수 없습니다.
4
최종
추상 클래스는 최종 클래스로 선언할 수 없습니다.
콘크리트 클래스는 final로 선언될 수 있습니다.
5
키워드
추상 키워드를 사용하여 선언된 추상 클래스입니다.
구체 클래스는 선언 중 추상 키워드가 없습니다.
6
상속
추상 클래스는 extends 키워드를 사용하여 다른 클래스를 상속하고 인터페이스를 구현할 수 있습니다.
인터페이스는 인터페이스만 상속할 수 있습니다.
7
인터페이스
추상 클래스는 인터페이스를 단독으로 구현할 수 없습니다. 인스턴스화를 위해 인터페이스를 사용할 수 있으려면 자식 클래스가 필요합니다.
인터페이스는 쉽게 구현할 수 있습니다.

추상 클래스와 구체 클래스의 예

JavaTester.java

public class JavaTester {
   public static void main(String args[]) {
      Cat lion = new Lion();
      lion.eat();
   }
}
abstract class Cat {
   abstract public void eat();
}
class Lion extends Cat{
   public void eat(){
      System.out.println("Lion eats");
   }
}

출력

Lion eats