Java의 생성자는 클래스의 객체를 초기화하는 데 사용되는 특별한 유형의 메소드입니다. 생성자는 클래스의 객체 생성 시 호출됩니다. 메소드와 마찬가지로 코드 세트를 보유하고 있지만 메소드와는 상당히 다릅니다. 생성자는 Java 클래스와 이름이 동일하지만 반환 유형이 없습니다. Java에서는 객체를 생성하는 데 사용되는 new() 키워드로, 새 객체가 생성될 때마다 하나의 생성자가 호출됩니다. 생성자는 메모리가 객체에 할당된 후에 호출됩니다. 객체 생성 시 생성자는 클래스 변수의 값을 기본값이나 원하는 값으로 초기화하는 데 사용됩니다.
사용자가 프로그램에서 생성자를 생성하지 않으면 Java 자체에서 기본 생성자를 생성하고 숫자 기본값은 0, 문자(' ') 및 참조 변수의 경우와 같이 다른 개체에 기본값을 할당합니다. 널. 메서드와 마찬가지로 생성자도 오버로드될 수 있습니다. 즉, 모든 생성자가 고유한 시그니처를 갖고 있는 경우 단일 클래스에 여러 생성자가 있을 수 있습니다.
광고 이 카테고리에서 인기 있는 강좌 JAVA MASTERY - 전문 분야 | 78 코스 시리즈 | 15가지 모의고사Java 생성자의 기본 구문은 다음과 같습니다.
구문:
public class Student() // name of the class { . . . . . . . . . . . . Student() // this is Constructor with the same name of class { . . . . . . } new Student(); // object creation and value initialization }
위 구문에서 Student()는 생성자의 이름으로 클래스 이름과 동일하며 Java의 객체는 new 키워드를 사용하여 생성됩니다.
Java에서 생성자의 작동을 이해하기 위해 아래 예제를 살펴보겠습니다.
코드:
public class Student() { int rollno; String name; Student(int rollno, String name) { this.rollno = rollno; this.name = name; } public static void main(String[] args) { Student st = new Student(12, 'Ananya'); System.out.println("Student name = "+ st.name + "Student rollno = "+st.rollno); } }
출력:
위의 예에는 인스턴스 변수(클래스 변수)가 있습니다. roll no 및 name 및 st Student 클래스에서 생성된 개체의 이름입니다. 객체가 생성되면 생성자 Student를 호출하고 롤 번호 값이 12이고 이름이 'Ananya'인 클래스 변수를 초기화합니다. 그렇지 않으면 Rollno의 경우 0, 이름의 경우 null과 같은 기본값이 변수에 할당됩니다. 따라서 값을 할당하고 인쇄한 후 학생 이름은 Ananya로, 학생 롤 번호는 12로 인쇄됩니다.
Java에는 매개변수를 기반으로 하는 두 가지 유형의 생성자가 있습니다.
생성자에서 인수를 전달하지 않는 경우 해당 생성자는 매개변수화되지 않거나 인수가 없는 생성자라고 합니다. 프로그래머가 Java 프로그램에서 생성자를 정의하지 않으면 Java 컴파일러 자체가 기본 생성자라고 하는 생성자를 추가합니다. 이 생성자는 객체에 0, null 등과 같은 기본값을 제공합니다. 기본 생성자는 특별한 유형의 생성자가 아닙니다. 하지만 인수가 없는 생성자의 범주에 속합니다.
코드:
public class Hello() { String name; void display() //method to display name the value of variables { System.out.println("name is" +name); } } public class HelloMain() { public static void main(String[] args) { Hello h1 = new Hello(); h1.display(); } }
출력:
위의 예에서 이는 프로그래머가 정의한 생성자가 아니므로 컴파일러는 이 프로그램을 다음과 같이 처리합니다.
코드:
public class Hello() { String name; Hello() //default constructor created by compiler { name = null } void display() { System.out.println("name is" +name); } } public class HelloMain() { public static void main(String[] args) { Hello h1 = new Hello(); h1.display(); } }
코드:
public DemoProgram() // class { DemoProgram() // constructor with no arguments { System.out.println("Hello this is just an example of no-arg constructor"); } public static void main(String[] args) { new DermoProgram(); } }
출력:
위의 예와 같이 생성자 DemoProgram()의 경우 인수가 전달되지 않고 메시지만 인쇄되므로 인수 없는 생성자라고 합니다.
매개변수화된 생성자는 인수나 매개변수를 전달하는 생성자입니다. 이 생성자에서는 객체 생성 시 값이 전달됩니다.
코드:
public class Animal() { int legs; String sound; Animal(int legs, String sound) // parameterized constructor { this.legs = legs; // values with get initialize of what is passed while object crea-this.sound = sound; // tion, i.e. (4, “bow bow”) } void display() // method to display the values { System.out.println("Legs are "+legs+"Sound is "+sound); } } class AnimalPlanet() { public static void main(String[] args) { Animal an = new Animal(4, "bow bow"); an.display(); } }
출력:
위 예에서는 다리에 값 4가 할당되고 생성자 Animal의 사운드에 "bow bow"라는 문자열이 할당됩니다. 따라서 메소드 표시가 호출되면 두 값이 모두 출력에 인쇄됩니다.
Java 프로그래밍 언어를 사용할 때 생성자는 중요한 역할을 합니다. 특정 시나리오에 따라 작동하려면 생성자, 다양한 유형의 생성자, 생성자 연결 및 상위 생성자를 호출하는 데 사용되는 super() 키워드의 전체 개념을 이해해야 합니다. Java에서 생성자를 사용하는 것은 메소드 작업과 마찬가지로 매우 쉽지만 몇 가지 특정 사항을 철저히 익혀야 합니다.
위 내용은 자바의 생성자의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!