[Development Record::JAVA] 3. Constructor


生成者

  • ジェネレータ基本構文([<パラメータリスト]){[<文]}
  • オブジェクトを生成するときに、新しいキーワードとともに-new Studio()を使用します.
  • ジェネレータは、通常の関数のように機能を呼び出すのではなく、newとともにオブジェクトを作成するために呼び出されます.
  • オブジェクトが生成されると、メソッドが呼び出され、変数または定数を初期化したり、他の初期化機能を実行したりします.
  • ジェネレータは値を返さず、クラス名と同じ
  • のほとんどの作成者は外部からアクセスできますが、必要に応じてプライベートと宣言する人もいます.
  • デフォルトコンストラクタ

  • クラスには、少なくとも1つの構造関数
  • が存在する必要があります.
  • クラスでジェネレータを実装する必要がなく、新しいキーワード呼び出しジェネレータを使用できます.
  • クラスにコンストラクション関数が1つもない場合、コンパイラはコンストラクション関数コードを挿入します.
    public Student(){}
  • パラメータなし、実施部
  • なし

    作成者の作成

  • コンパイラが提供するデフォルトのジェネレータに加えて、必要に応じてジェネレータを直接実装することもできます.
  • Student.java

    public class Student {
    
    	public int studentNumber;
    	public String studentName;
    	public int grade;
    	
    	public Student() {}; // Default 생성자
    	public Student(int studentNumber, String studentName, int grade) { // 생성자 생성
    		
    		this.studentNumber = studentNumber;
    		this.studentName = studentName;
    		this.grade = grade;
    	}
    	
    	public String showStudentInfo() {
    
    		return studentName + "학생의 학번은 " + studentNumber + "이고, " + grade + "학년 입니다.";
    	}
    }

    StudentTest.java

    public class StudentTest {
    	
    	public static void main(String[] args) {
    		
    		Student studentLee = new Student(); // Default 생성자 호출
    		studentLee.studentNumber = 54321;
    		studentLee.studentName = "Lee";
    		studentLee.grade = 1;
    		
    		System.out.println(studentLee.showStudentInfo());
    		
    		Student studentKim = new Student(12345,"Kim",3);
    		System.out.println(studentKim.showStudentInfo());
    	}
    
    }

    実行結果