재귀 생성자 호출은 생성자가 자신을 호출할 때 발생하는 컴파일 시간 오류입니다. 이는 메소드가 필요한 만큼 자신을 호출하는 재귀와 유사합니다. 자신을 호출하는 메서드를 재귀 메서드라고 하며, 자신을 호출하는 생성자를 재귀 생성자라고 합니다.
이 기사에서는 몇 가지 예를 통해 Java의 재귀 생성자 호출 오류에 대해 알아봅니다.
메서드와 매우 유사하지만 차이점은 메서드는 객체의 동작을 정의하는 반면 생성자는 이러한 객체를 초기화하는 데 사용된다는 것입니다. 메소드에 원하는 이름을 지정할 수 있지만 생성자는 클래스 이름과 동일해야 합니다. 또한 메서드는 값을 반환할 수 있지만 생성자는 반환 유형을 가질 수 없기 때문에 값을 반환하지 않습니다.
사용자가 생성자를 생성하지 않으면 Java 컴파일러가 자동으로 생성자를 생성합니다(우리는 이를 기본 생성자라고 부릅니다).
생성자와 메서드의 유사성에도 불구하고 Java는 재귀 생성자를 허용하지 않습니다. 이것은 나쁜 프로그래밍 습관입니다.
다음 예에서는 재귀 생성자 호출 오류를 보여줍니다.
여기서 클래스를 생성하고 해당 생성자와 두 개의 매개변수를 정의하겠습니다. 그런 다음 본문 내부에서 동일한 생성자를 호출합니다.
으아아아다음 예에서는 Java가 생성자 내부에 객체 생성을 허용하는지 확인하기 위해 생성자 내부에 객체를 정의해 보겠습니다.
으아아아생성자 내부에 객체를 생성하면 객체 생성의 무한 루프가 발생하기 때문에 StackOverflowError가 발생합니다.
다음 예에서는 다른 생성자 내에서 생성자를 호출하는 것이 합법적임을 보여줍니다.
으아아아Java는 생성자의 재귀를 허용하지 않으므로 이러한 프로그래밍 방식은 당연히 피해야 합니다. 이 글에서는 생성자에 대한 논의를 시작으로 재귀 생성자를 설명하려고 합니다. 또한 무한 루프로 인해 발생한 StackOverflowError라는 또 다른 오류를 발견했습니다.
위 내용은 Java의 재귀 생성자 호출의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!