비디오: Java - 생성자 2024
A 생성자의 이름과 동일해야합니다. Java에서
-
는 개체가 생성됩니다. 다음은 생성자와 메소드의 주요 차이점입니다.
-
생성자에는 반환 유형이 없습니다.
-
생성자의 이름은 클래스의 이름과 같아야합니다.
메소드와 달리 생성자는 클래스의 멤버로 간주되지 않습니다. -
생성자는 객체의 새 인스턴스가 만들어지면 자동으로 호출됩니다.
public ClassName (parameter-list) [throws exception …] {statements …}
public 키워드는 다른 클래스가 생성자에 액세스 할 수 있음을 나타냅니다. ClassName은 생성자를 포함하는 클래스의 이름과 같아야합니다. 메서드에 대해 코드를 작성하는 것과 같은 방법으로 매개 변수 목록을 코딩합니다.
생성자는 복구 할 수없는 상황이 발생하면 예외를 throw 할 수 있습니다.
생성자를 사용하면 객체를 만들 때 클래스 필드의 초기 값을 제공 할 수 있습니다. firstName 및 lastName이라는 필드가있는 Actor라는 클래스가 있다고 가정합니다. Actor 클래스의 생성자를 만들 수 있습니다:
public 액터 (String first, String last) {firstName = first; lastName = last;}
이 생성자를 호출하여 Actor 클래스의 인스턴스를 만듭니다.
배우 a = 새로운 배우 ("Arnold", "Schwarzenegger");
Arnold Schwarzenegger의 새로운 Actor 객체가 생성됩니다.
메소드와 마찬가지로 생성자도 오버로드 될 수 있습니다. 즉, 각 생성자에 고유 한 서명이있는 경우 클래스에 대해 둘 이상의 생성자를 제공 할 수 있습니다. 다음은 Actor 클래스의 또 다른 생성자입니다:
public Actor (String first, String last, boolean good) {firstName = first; lastName = last; goodActor = good;}
이 생성자를 사용하면 액터 이름 외에 정보로 액터 객체를 만들 수 있습니다.
액터 a = 새 액터 ("Arnold", "Schwarzenegger", false);
클래스에 대해 생성자를 제공하지 않으면 Java는 매개 변수가없고 해당 필드를 초기화하지 않는 기본 생성자 를 자동으로 만듭니다. 매개 변수를 전달하지 않고 new 키워드를 지정하면이 기본 생성자가 호출됩니다. 예:
볼 b = 새 볼 ();
여기서 Ball 클래스의 변수는 Ball 클래스의 기본 생성자를 사용하여 만듭니다.
클래스에 대해 생성자를 명시 적으로 선언하면 Java는 해당 클래스의 기본 생성자를 생성하지 않습니다 .결과적으로 매개 변수를 받아들이고 매개 변수가없고 본문이없는 빈 생성자를 원하는 생성자를 선언하면 클래스의 빈 생성자를 명시 적으로 선언해야합니다.