コンストラクタ


生成者

  • インスタンスの作成時に呼び出されるインスタンス初期化メソッド
  • iv初期化方法
  • Time t = new Time(); //기본 생성자
    t.hour = 12;
    t.minute = 34;
    t.second = 56;
    
    Time t = new Time(12, 34, 56);
  • 名前はクラスと同じ名前でなければなりません.
  • 戻り値はありません.(voidを貼り付けない)
  • すべてのクラスにジェネレータが必要です.
  • 클래스이름(타입 변수명, 타입 변수명, ...) {
    	// 인스턴스 생성 시 수행될 코드
        // 주로 인스턴스 변수의 초기화 코드를 적는다.
    }
      class Card {
          ...
          Card() { // 매개변수 없는 생성자
              //인스턴스 초기화 작업
          }
          
          Card(String kind, int number) { // 매개변수 있는 생성자
              //인스턴스 초기화 작업
          }    
      }

    デフォルトコンストラクタ

  • パラメータジェネレータなし
  • コンパイラは、コンストラクタが1つもない場合にのみ自動的に
  • を追加します.
    클래스이름() { } // 기본생성자
    Point() { } // Point클래스의 기본 생성자
    class Data_1 {
    	int value;
    }
    
    class Data_2 {
    	int value;
        
        Data_2(int x) { // 매개변수가 있는 생성자
        	value = x;
        }
    }
    
    class Ex{
    	public static void main(String[] args) {
        	Data_1 d1 = new Data_1();
            Data_2 d2 = new Data_2(); //compile error발생
        }
    }

    compile error

  • 必ずデフォルトジェネレータを作成してください!
  •   class Data_1 {
          int value;
          
          Data_1() { } // ++추가해주자.
      }
      
      class Data_2 {
          int value;
    
          Data_2() { } // ++반드시 추가해야함.
          Data_2(int x) { // 매개변수가 있는 생성자
              value = x;
          }
      }

    パラメータ付き作成者

      class Car {
          String color; // 색상
          String gearType; // 변속기 종류 - auto(자동), manual(수동)
          int door; // 문의 개수
    
          Car() { } //기본 생성자
          Car(String c, String g, int d) {
              color = c;
              gearType = g;
              door = d;
          }
      }
    Car c = new Car();
    c.color = "White";
    c.gearType = "auto";
    c.door = 4;

    ジェネレータとして出力する場合

    Car c = new Car("White", "auto", 4); 생성자 출력 시 코드가 줄어든다.

    References

  • 南宮城、ジャワ議政石(基礎):受講後に整理した資料.
  • 🎈2020.10.19
  • 🎈便箋整理、iPad