Java에서 생성자 오버로딩을 가장 잘 구현하는 방법은 무엇입니까?



이 기사에서는 Java에서 생성자 오버로딩을 소개합니다. 설명 다음에는 프로그래밍 방식 데모가 이어집니다.

Java의 출현은 프로그래밍 세계를 폭풍으로 몰아 넣었고 그 주된 이유는 그것이 가져온 많은 기능 때문입니다. 이 기사에서는 생성자 오버로딩에 대해 . 이 기사에서는 다음 사항에 대해 설명합니다.

그럼 시작하겠습니다.





자바에서 생성자 오버로딩

생성자 란 무엇입니까?

생성자는 클래스의 객체를 생성하는 데 사용되는 코드 블록입니다. 모든 클래스에는 생성자가 있습니다 (일반 클래스이든 추상 클래스이든). 생성자는 메서드와 비슷하지만 반환 형식이 없습니다. 클래스에 대해 정의 된 생성자가없는 경우 컴파일러에서 기본 생성자를 만듭니다.

명령 줄에서 하이브 쿼리 실행



public class Student {// 생성자 없음 private String 이름 private int age private String std // getter 및 setter public void display () {System.out.println (this.getName () + ''+ this.getAge () + ' '+ this.getStd ())} public static void main (String args []) {// Student 클래스의 표시 방법을 사용하려면 Student의 객체를 생성 Student student = new Student () // 생성자를 정의하지 않았으므로 , 컴파일러는 기본 생성자를 만듭니다. 그래서 student.display ()}}

위 프로그램에서 기본 생성자는 컴파일러에 의해 생성되어 객체가 생성됩니다. 생성자가 있어야합니다.

이 기사의 다음 부분으로 이동합니다.Java에서 생성자 오버로딩.

다른 생성자 필요

위의 예에서 Student 객체는 기본 생성자로만 만들 수 있습니다. 학생의 다른 모든 속성이 초기화되지 않은 경우. 그러나 객체의 상태를 초기화하는 데 사용되는 다른 생성자가있을 수 있습니다. 예 :



public class Student {// 속성 String name int age String std // 생성자 public Student (String name) {// 생성자 1 this.name = name} public Student (String name, String std) {// 생성자 2 this.name = name this.std = std} public Student (String name, String std, int age) {// 생성자 3 this.name = name this.std = std this.age = age} public void display () {System.out .println (this.getName () + ''+ this.getAge () + ''+ this.getStd ())} public static void main (String args []) {Student stu1 = new Student ( 'ABC') stu1 .display () Student stu2 = new Student ( 'DEF', '5-C') stu2.display () Student stu3 = new Student ( 'GHI', '6-C', 12) stu3.display ()}}

이 기사의 다음 부분으로 이동합니다.Java에서 생성자 오버로딩.

this () 참조

this () 참조는 매개 변수화 된 생성자 내에서 기본 생성자를 암시 적으로 호출하는 데 사용할 수 있습니다. this ()는 생성자 내부의 첫 번째 문이어야합니다.

public Student () {} // 생성자 4 public Student (String name, String std, int age) {// 생성자 3 this () // 기본 생성자를 호출합니다. * 생성자의 첫 번째 문장이 아닌 경우 ERROR 발생 * this.name = name this.std = std this.age = age

노트

  • 재귀 생성자 호출이 Java에서 유효하지 않습니다.
  • 매개 변수화 된 생성자를 정의한 경우 컴파일러는 기본 생성자를 생성하지 않습니다. 생성자를 정의하지 않으면 컴파일러는 기본적으로 컴파일 중에 기본 생성자 (인수없는 생성자라고도 함)를 생성합니다.
  • 생성자 호출은 Java에서 생성자의 첫 번째 명령문이어야합니다.

따라서 우리는 'Java의 생성자 오버로딩'에 대한이 기사의 끝까지 왔습니다. 자세한 내용은 다음을 확인하십시오. 신뢰할 수있는 온라인 학습 회사 인 Edureka에서 제공합니다. Edureka의 Java J2EE 및 SOA 교육 및 인증 과정은 Hibernate & Spring과 같은 다양한 Java 프레임 워크와 함께 핵심 및 고급 Java 개념 모두에 대해 교육하도록 설계되었습니다.

질문이 있으십니까? 이 블로그의 댓글 섹션에 언급 해 주시면 가능한 한 빨리 답변을 드리겠습니다.