Programming/Java

생성자(Constructor)

xxvd 2018. 5. 22. 18:36

생성자를 이용해서 main 메소드가 있는 클래스에서 어떤 클래스에 접근해서 변수의 값을 바꿀 수 있다.


class Sunrin{


String name;


}


이런 클래스가 있다고 가정하고, main 메소드에서 lee라는 객체를 하나 생성한 후


name을 lee로 바꿔주고 싶다면 생성자를 사용하면 된다


class Sunrin{


String name;

public Sunrin(){}

public Sunrin(int name){


this.name = name;

}

}


public class asd {
 public static void main(String[] args) {

Sunrin lee = new Sunrin("name");

  }
}

이런 코드에서 저 위에 

public Sunrin(int name){


this.name = name;

}


이 부분이 생성자이다. 딱히 설명하기 귀찮으니 그냥 이렇게 생겼다고 알아만 두면 될듯



default 생성자는 말 그대로 default 이다.


class에 생성자를 아무것도 안 만들었을 경우 저것만 생성되어 있을 것,


근데 생성자를 더 추가하면 우리가 default 생성자도 만들어 줘야 된다.


class Sunrin{


String name;

public Sunrin(){} --> 요 부분이 default 생성자인 것.

public Sunrin(int name){


this.name = name;

}

}



생성자 오버로딩은 말 그대로 오버로딩은 오버로딩인데 생성자를 오버로딩 하겠다. 이건데,


저기 Sunrin class만 봐도 생성자가 오버로딩 된게 보인다.


* 오버로딩이란 이름은 같은데 매개변수가 다른 것