Java 오류 수정Cannot Instantiate the Type

Haider Ali 2023년10월12일
Java 오류 수정Cannot Instantiate the Type

오늘은 Java에서 cannot instanceize type 오류를 수정하는 방법에 대해 알아보겠습니다.

이 유형의 오류는 추상 클래스의 인스턴스를 만들려고 할 때 발생합니다. Java의 추상 클래스에 대해 조금 알아보겠습니다.

Java 오류 수정Cannot Instantiate the Type

우리는 일반적으로 모든 구성 요소 사이에 몇 가지 공통 기능을 제공해야 할 때 추상 클래스를 사용합니다. 클래스를 부분적으로 구현할 수 있습니다.

모든 하위 클래스가 재정의하거나 구현할 수 있는 기능을 생성할 수 있습니다. 그러나 추상 클래스를 인스턴스화할 수는 없습니다.

다음 코드를 보십시오.

abstract class Account { // abstract class Cannot Be initiated...
  private int amount;
  Account() {
    // constructor............
  }
  public void withDraw(int amount) {
    this.amount = this.amount - amount;
  }
}

위의 추상 클래스 Account는 인스턴스화할 수 없습니다. 다음 코드를 작성할 수 없음을 의미합니다.

Account acc = new Account(); // Abstract Cannot Intialized......

그래서, 해결책은 무엇입니까? 이 추상 클래스의 구체적인/자식 클래스를 만들고 인스턴스를 만들 수 있습니다.

예를 들어, 너무 많은 유형의 계정이 있습니다. 저축, 사업, 직불카드 등이 될 수 있습니다.

그러나 모두 실계좌이며, 공통점이 있습니다. 이것이 우리가 추상 메서드와 클래스를 사용하는 이유입니다.

다음 코드를 살펴보십시오.

class BusinessAccount extends Account {
  private int Bonus;
  public void AwardBonus(int amount) {
    this.Bonus = Bonus + amount;
  }
}

BusinessAccount 클래스는 추상 Account 클래스의 구체적이고 자식 클래스입니다. 이 클래스의 인스턴스를 만들고 작업을 완료할 수 있습니다.

BusinessAccount bb = new BusinessAccount();
// Bussiness Account Can Be intiated Because there is concreate defination..........

따라서 결론은 추상 클래스를 인스턴스화할 수 없다는 것입니다. 대신 해당 자식 클래스를 만들고 동일한 기능에 대해 인스턴스화할 수 있습니다.

다음은 컴퓨터에서 실행할 수 있는 완전한 코드입니다.

abstract class Account { // abstract class Cannot Be intiated...
  private int amount;
  Account() {
    // constructor............
  }
  public void withDraw(int amount) {
    this.amount = this.amount - amount;
  }
}
class BusinessAccount extends Account {
  private int Bonus;
  public void AwardBonus(int amount) {
    this.Bonus = Bonus + amount;
  }
}
public class Main {
  public static void main(String[] args) {
    // Account acc = new Account(); // Abstract Cannot Intialized......
    BusinessAccount bb = new BusinessAccount();
    // Bussiness Account Can Be intiated Because there is concreate defination..........
  }
}

추상 클래스에 대해 자세히 알아보려면 여기를 클릭하세요.

작가: Haider Ali
Haider Ali avatar Haider Ali avatar

Haider specializes in technical writing. He has a solid background in computer science that allows him to create engaging, original, and compelling technical tutorials. In his free time, he enjoys adding new skills to his repertoire and watching Netflix.

LinkedIn

관련 문장 - Java Error